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

sql2005中substring的length长度有限制怎么解决

2012-12-19 
sql2005中substring的length长度有限制如何解决?通过substring来截取字符串,发现length的最大值只能有4000

sql2005中substring的length长度有限制如何解决?
通过substring来截取字符串,发现length的最大值只能有4000,超过4000的字符串的字符串就不会被截取到,有没有什么替代方法呢?
declare @ss varchar(max)
select @ss=substring(Content,5179,4100) from SL_Article where articleId=155
print len(@ss)

其中需要的100个字符串就不会被截取到
[最优解释]
declare @ss varchar(max)
 select @ss=substring(Content,5179,4000)+substring(Content,9179,100) from SL_Article where articleId=155
 print len(@ss)
[其他解释]
莫非是sqlserver的bug,sqlserver帮助文档中都说length 可以是 bigint 类型。

expression 

是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。

start 

指定子字符串开始位置的整数。start 可以为 bigint 类型。

length 

一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。


[其他解释]
上面的方法还是不行

热点排行