繁体   English   中英

XML字符串concat的tsql-工作原理

[英]tsql for xml string concat - How it works

我有下面的代码很好用:

    STUFF(  ( 
                        select 
                            char(13)+'Item '+i.item+' : '--+char(13) +i.item_descr
                        from @itemlines i
                        where i.customer=main.customer
                        FOR XML PATH(''), TYPE
                    ).value('.','varchar(max)')
                ,1,1, '')

什么是.value()? 有点像...选择方法? 它有什么作用? 任何参考链接也将不胜感激!

FOR XML将返回XML数据类型; .value(...,...)提取XML值并将其转换为定义的数据类型。 在您的情况下,根节点('。')中的所有内容都转换为varchar(max)

对于某些博客/链接,请查看Aaron Bertrand的帖子Adam Machanic的文章,也请注意STRING_AGG的新功能

您使用FOR XML PATH将表转换为XML。 XML数据在SQL Server中由XML数据类型表示,并且可以处理此数据类型上的不同方法的列表。 这些方法之一是具有两个参数的值方法 :XQuery和Data type。 该方法允许您将XML数据转换为其他格式(在您的情况下为varchar)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM