sql语句中变量与字符串连接问题

2024-11-23 01:28:02
推荐回答(2个)
回答1:

这是由于你的变量声明为定长字符型的缘故,你给变量@A设置的为定长20位长,通过SET @A = '_' + @B 给变量@A赋赋值后,里面存储的内容为"_0 ",即后面有18个空格,你后面有通过SET @A = @A + 'f'给它赋值,超过20位长,所以后面的f就无法保存.解决办法有两种:
1.把DECLARE @A NCHAR(20)改为:DECLARE @A NVARCHAR(20)
2.把SET @A = @A + 'f'改为:SET @A = RTRIM(@A) + 'f'

回答2:

这样不行的话,你可以再声明一个变量@C,Set @C = @A + 'F'