sql2005中substring的length长度有限制如何解决?

事理 2012-11-28 12:53:41
通过substring来截取字符串,发现length的最大值只能有4000,超过4000的字符串的字符串就不会被截取到,有没有什么替代方法呢?
declare @ss varchar(max)
select @ss=substring(Content,5179,4100) from SL_Article where articleId=155
print len(@ss)

其中需要的100个字符串就不会被截取到
...全文
283 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
事理 2012-11-28
  • 打赏
  • 举报
回复
莫非是sqlserver的bug,sqlserver帮助文档中都说length 可以是 bigint 类型。 expression 是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。 start 指定子字符串开始位置的整数。start 可以为 bigint 类型。 length 一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。
事理 2012-11-28
  • 打赏
  • 举报
回复
上面的方法还是不行
开启时代 2012-11-28
  • 打赏
  • 举报
回复
declare @ss varchar(max) select @ss=substring(Content,5179,4000)+substring(Content,9179,100) from SL_Article where articleId=155 print len(@ss)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧