意外结果在Sybase SQL中连接简单字符串

时间:2013-02-26 16:27:38

标签: sql string concatenation sybase variable-assignment

我在Sybase上用一个非常简单的SQL来获得意想不到的结果。

declare @mystring char(30)

select @mystring = 'abc'

select 'mystring = ' + @mystring

select @mystring = @mystring + 'xyz'

select 'mystring = ' + @mystring

返回:

mystring = abc                           
mystring = abc   

为什么最后一个选择不返回'abcxyz'?

由于

鲍勃

1 个答案:

答案 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