0
点赞
收藏
分享

微信扫一扫

sqlserver SELECT显示和PRINT打印超长的字符

步骤一:SSMS里返回的列值长度限制,问题没有解决

sqlserver SELECT显示和PRINT打印超长的字符_解决方法

sqlserver SELECT显示和PRINT打印超长的字符_XML_02

步骤二:使用如下方式”Cast 或 FOR XML PATH ;问题还是一样

print Cast(@AgentList as text)
select @AgentList for xml Path('')
select CAST (@AgentList as XML)

分析问题:一直只显示50字符,最终找到问题所在,是定义的变量长度的问题,@AgentList定义为50个字符串引起的

参考网上:Sql Server:Print函数突破8000字符的限制

Declare @SqlSelect Varchar(max);
	set @SqlSelect=''; WHILE LEN(@SqlSelect) > 8000
	BEGIN
	  print(left(@SqlSelect,8000));
	  set @SqlSelect= right(@SqlSelect,LEN(@SqlSelect)-8000);
	END
	print( @SqlSelect);

sqlserver SELECT显示和PRINT打印超长的字符_字符串_03


解决方法:将AgentList定义Nvarchar(2000)问题解决:

sqlserver SELECT显示和PRINT打印超长的字符_XML_04

sqlserver SELECT显示和PRINT打印超长的字符_XML_05

举报

相关推荐

0 条评论