gpt4 book ai didi

sql-server - 从 XML FLWOR 查询返回计算的元素名称

转载 作者:数据小太阳 更新时间:2023-10-29 02:05:28 24 4
gpt4 key购买 nike

我在 SQLServer 2008 R2 中有以下 XML 数据

DECLARE @data XML
SET @data = '<root attr1="val1" attr2="val2" attr3="val3"/>'

我想从 root 中获取属性名称列表并将其作为元素列表输出,如下所示:

<root>
<attr1>val1</attr1>
<attr2>val2</attr2>
<attr3>val3</attr3>
</root>

我一直在研究 FLWOR 查询以获得我想要的结果。到目前为止我有这个:

SELECT @data.query('
for $attr in /*/@*
return <test>{fn:string($attr)}</test>
')

这很好并且几乎是我所需要的,但是当我尝试这样做时......

SELECT @data.query('
for $attr in /*/@*
return <{fn:local-name($attr)}>{fn:string($attr)}</{fn:local-name($attr)}>
')

不开心。它似乎只喜欢硬编码的元素名称。

如何返回具有计算名称的元素?

最佳答案

根据 Microsoft ,

Right now, we only support constant expressions for the name expression of computed element and attribute constructors. The work around is building dynamic sql to cancat in the attribute name.

关于sql-server - 从 XML FLWOR 查询返回计算的元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com