首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

varchar变量 长度有关问题

2012-01-31 
varchar变量 长度问题?declare@strvarchar(8000)set@strselect@str@str+col1fromtable1print@strprintle

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了

热点排行