试着寻找解释

时间:2017-02-17 12:16:12

标签: sql-server xml

在以前的帖子about generic creation of pivot table中,我找到了一个有效的例子。我只是无法完全理解XML最终成为varchar列的部分。

select @cols = STUFF((SELECT distinct ',' + QUOTENAME(product) 
                from product
        FOR XML PATH(''), TYPE
        ).value('.', 'NVARCHAR(MAX)') 
    ,1,1,'')

我试图在STUFF语句和FOR XML的描述中查找它,但无法找到所用代码[.value('.', 'NVARCHAR(MAX)')]的解释。它转换XML to VARCHAR,但在哪种情况下?

同样在this post中有一个部分参考:

  

.value('。','varchar(max)')只是从生成的XML片段中检索值,而不对任何“特殊”字符进行XML编码。

我不清楚附加.value来自哪个上下文。它是SELECT或XML或STUFF的一部分吗? 有人可以解释它的背景吗?或者指出正确的文档?

0 个答案:

没有答案