varchar变量 长度问题?
declare @str varchar(8000)
set @str= ' '
select @str= @str+col1 from table1
print @str
print len(@str)
以上语句执行结果,@str被截,len(@str)=4000,为何?
[解决办法]
后面如果有空格的话,其长度是不计的.
[解决办法]
LEN
回定的字串算式之字元而非位元,字串末尾的空白不。
不是量定的度
[解决办法]
declare @str varchar(8000)
Select @str = 'aa '
Select Len(@str)
--2
[解决办法]
最好改成这样:
declare @str varchar(8000)
set @str= ' '
select @str= rtrim(@str)+ltrim(rtrim(col1)) from table1
print @str
print len(@str)
[解决办法]
varchar+nvarchar=nvarchar
nvarchar()最多字符串长度4000
[解决办法]
用datalength才是真正的长度
len(@str)换成datalength(@str)试一下
应该你的是汉字等字符吧,所以当然只能查出4000了