sql server 中字符串的问题
我用如下语句
declare @name char(50)
declare @name1 char(50)
select @name='asdf'
set @name=@name1+'adsfasf'
不正常,好像没有执行一样;
请问怎么办呀
问题点数:20、回复次数:4Top
1 楼rwq_(笨笨@天外有天山外有山)回复于 2002-01-13 22:47:18 得分 0
加一句:
print @nameTop
2 楼qiubolecn(来自差生市)回复于 2002-01-13 22:52:15 得分 0
老大
我是说
set @name=@name+'asdf'结果不对
而
set @name='asdf+@name
这样结果就对Top
3 楼yangzi(笨笨)回复于 2002-01-14 00:29:02 得分 20
容易,
你这样定义就好了:
declare @name varchar(50)
declare @name1 char(50)
select @name='asdf'
set @name=@name1+'adsfasf'
因为char是定长的,所以在你
select @name='asdf'时,name在f后面添加了四十六个空格,
而
set @name=@name1+'adsfasf'
时name的实际长度是57(4+46+7),而你的name定义为char(50)。
所以后面的7个字符给删掉了。
用varchar就好了。Top
4 楼qiubolecn(来自差生市)回复于 2002-01-14 12:58:27 得分 0
谢谢帮助Top




