本文介绍了请解释此查询。我在谷歌上找不到这个,我想完整解释这个查询。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SELECT Stuff(
  (SELECT N', ' + Name FROM Names FOR XML PATH(''),TYPE)
  .value('text()[1]','nvarchar(max)'),1,2,N'')





stuff用于替换,删除子字符串

和for xml路径用于在单行中获取xml数据,但是多个节点



但是我无法理解这个中发生了什么

.value的( '文本()[1]', nvarchar(max)'),1,2,N'')



我的猜测是它以某种方式替换xml节点以获得逗号分隔的单行数据。 />
但是我很困惑,我想要理解这一切。

如果可能,请给我一个完整的解释。

非常感谢你。



stuff is used for replacing by removing a substring
and for xml path is used for getting xml data in a single row but multiple nodes

but i m unable to understand what going on in this
" .value('text()[1]','nvarchar(max)'),1,2,N'') "

my guess is it somehow replaces xml nodes to get comma separated single row data.
but i am confused and i want to understand it all.
please gimme a full explation if its possible.
thank you so much .

推荐答案

select 
(Select ', ' + TABLE_NAME
from INFORMATION_SCHEMA.TABLES
FOR XML PATH(''),TYPE).value('text()[1]','nvarchar(4000)')



希望有所帮助。


Hope it help.


这篇关于请解释此查询。我在谷歌上找不到这个,我想完整解释这个查询。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-18 21:09