3

在 Sybase 上,我使用非常简单的 SQL 得到了意想不到的结果。

declare @mystring char(30)

select @mystring = 'abc'

select 'mystring = ' + @mystring

select @mystring = @mystring + 'xyz'

select 'mystring = ' + @mystring

这将返回:

mystring = abc                           
mystring = abc   

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

谢谢

鲍勃

4

1 回答 1

3

我怀疑这是因为您已声明 @mystringchar(30)并且 所有 CHAR 值都是空白填充到最大长度

将其声明为varchar(30)可以解决问题:

declare @mystring varchar(30)

select @mystring = 'abc' 

select 'mystring = ' + @mystring

SELECT @mystring = @mystring + 'xyz'

select 'mystring = ' + @mystring
于 2013-02-26T16:50:41.947 回答