我在Sybase上用一个非常简单的SQL来获得意想不到的结果。
declare @mystring char(30)
select @mystring = 'abc'
select 'mystring = ' + @mystring
select @mystring = @mystring + 'xyz'
select 'mystring = ' + @mystring
返回:
mystring = abc
mystring = abc
为什么最后一个选择不返回'abcxyz'?
由于
鲍勃
答案 0 :(得分:3)
我怀疑这是因为您已将@mystring
声明为char(30)
和All CHAR values are blank padded up to max-length
将其声明为varchar(30)
可以解决问题:
declare @mystring varchar(30)
select @mystring = 'abc'
select 'mystring = ' + @mystring
SELECT @mystring = @mystring + 'xyz'
select 'mystring = ' + @mystring