sql2000字符串串联接问题
declare @s varchar(50)
declare @s1 varchar(50)
set @s=char(98)+char(137)+char(76)+char(137)+char(98)+char(152)
set @s1=char(98)
set @s1=@s1+char(137)
set @s1=@s1+char(76)
set @s1=@s1+char(137)
set @s1=@s1+char(98)
set @s1=@s1+char(152)
print @s b乱码
print @s1 bLb
由于上面的结果不同,而我要在自定义的函数中通过循环语句取得字符串串联@s的结果,请问怎样实现?
[解决办法]
你目前得到的@s和@s1都是null
[解决办法]
select char(98)+char(137)+char(76)+char(137)+char(98)+char(152)
/*
NULL
*/
select char(137) --ascii=137是个空值
/*
NULL
*/
任何一个值空值相加结果都是空的
[解决办法]
你试试把最前两行改成
declare @s nvarchar(50)
declare @s1 nvarchar(50)
[解决办法]
这样写结果相同,
declare @s nvarchar(50)
declare @s1 nvarchar(50)
set @s=nchar(98)+nchar(137)+nchar(76)+nchar(137)+nchar(98)+nchar(152)
set @s1=nchar(98)
set @s1=@s1+nchar(137)
set @s1=@s1+nchar(76)
set @s1=@s1+nchar(137)
set @s1=@s1+nchar(98)
set @s1=@s1+nchar(152)
print @s
print @s1
declare @a varchar(50)
declare @b varchar(50)
set @a=char(135)
print '---print @a---'
print @a
print '----over----'
print '---print @a=@a+char(97)---'
set @a=@a+char(97)
print @a
print '-------over---------'
print '------print char(135)+char(97)--------'
set @b=char(135)+char(97)
print @b
print '----over----'
print '------print char(97)+char(135)--------'
set @b=char(97)+char(135)
print @b
print '----over----'
-----------输出结果--------------
---print @a---
?
----over----
---print @a=@a+char(97)---
嘺
-------over---------
------print char(135)+char(97)--------
嘺
----over----
------print char(97)+char(135)--------
a?
----over----