在 Sql 语法中,定义字符串变量不要忘记了长度,否则在把变量的值赋值给其他对象时会只把第一个字符赋值过去。
看下面的例子:请注意 @a 与 @b 定义时的区别。
DECLARE
@Str
varchar
(
100
)
SET @Str = ' abc '
DECLARE @a varchar ( 100 )
SET @a = @Str
PRINT ( ' @a = ' + @a )
DECLARE @b varchar
SET @b = @Str
PRINT ( ' @b = ' + @b )
SET @Str = ' abc '
DECLARE @a varchar ( 100 )
SET @a = @Str
PRINT ( ' @a = ' + @a )
DECLARE @b varchar
SET @b = @Str
PRINT ( ' @b = ' + @b )
输出结果:
@a
=
abc
@b = a
@b = a
如果你的Sql 语句遇到类似结果,请检查变量定义。mark。