读书人

for xml path()有长度限制吗?解决思路

发布时间: 2012-03-23 12:06:21 作者: rapoo

for xml path()有长度限制吗?
测试数据:

SQL code
if object_id('tempdb..#t') is not null    drop table #tcreate table #t(a nvarchar(50))declare @a intset @a = 1while @a <= 120begin    insert into #t(a) values('Employees.Number as [工]★')    set @a = @a + 1end--print len('Employees.Number as [工]★') * 120select '' + a + '' from #t for xml path('')

正常的长度是3000,但for xml path('')出来的数据长度无论怎么样都只有2033

请问是什么原因造成的,有什么办法解除这种限制,使其正常输出呢?

[解决办法]
还真没注意这个问题。。
[解决办法]
百度看看吧,这个不知道
[解决办法]
SQL code
select len((select '' + a + '' from #t for xml path('')))/****************3000
[解决办法]
测试结果都是3000呀,
SQL code
if object_id('tempdb..#t') is not null    drop table #t   create table #t(a nvarchar(50))declare @a intset @a = 1while @a <= 120begin    insert into #t(a) values('Employees.Number as [工]★')    set @a = @a + 1endselect len('Employees.Number as [工]★') * 120 'len1'select len((select '' + a + '' from #t for xml path(''))) 'len2'len1-----------3000len2--------------------3000
[解决办法]
如果正常的长度是8000呢??出来的长度是多少?
[解决办法]
你数据库的查询选项--结果--网格 里面检索最多的字符数XML数据设置大一点


[解决办法]
探讨

你数据库的查询选项--结果--网格 里面检索最多的字符数XML数据设置大一点

[解决办法]
SQL code
if object_id('tempdb..#t') is not null    drop table #tcreate table #t(a nvarchar(50))declare @a intset @a = 1while @a <= 120begin    insert into #t(a) values('Employees.Number as [工]★')    set @a = @a + 1end-- print len('Employees.Number as [工]★') * 120select '' + a + '' from #t for xml path('')select len('Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★Employees.Number as [工]★')/*-----------3002(1 行受影响)*/ 


[解决办法]
还有 你的数据库版本是?
[解决办法]
My sql server version is SQL2008R2 and I didn't change the database default setting with XML, What about yours?

Please run the script for test by four floor.



[解决办法]
网格形式显示的长度是有限制的。
[解决办法]
工具--选项--查询结果--以网格显示结果

看看XML数据显示。
[解决办法]
看看是不是环境问题。还是显示的问题

读书人网 >SQL Server

热点推荐