gpt4 book ai didi

sql - 在 SQL Server 中使用 XML 类型字段获取值

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

我有一个包含 XML 类型字段的 MS SQL 表。该字段包含以下格式的数据:

<doc>
<quote>
<code>AA</code>
</quote>
<quote>
<code>BB</code>
</quote>
<quote>
<code>CC</code>
</quote>
</doc>

引号可以有不同的顺序。我需要查看以下格式的数据,其中显示了每个文档中哪条引文排在第一位、第二位和第三位。

Code 1       Code 2        Code 3
--------------------------------
AA BB CC
BB AA CC

最佳答案

试试这个:

DECLARE @test TABLE(ID INT, XmlCol XML)

INSERT INTO @test VALUES(1, '<doc>
<quote>
<code>AA</code>
</quote>
<quote>
<code>BB</code>
</quote>
<quote>
<code>CC</code>
</quote>
</doc>')

INSERT INTO @test VALUES(2, '<doc>
<quote>
<code>BB</code>
</quote>
<quote>
<code>AA</code>
</quote>
<quote>
<code>CC</code>
</quote>
</doc>')

SELECT
ID,
X.Doc.value('(quote/code)[1]', 'varchar(20)') AS 'Code1',
X.Doc.value('(quote/code)[2]', 'varchar(20)') AS 'Code2',
X.Doc.value('(quote/code)[3]', 'varchar(20)') AS 'Code3'
FROM @test
CROSS APPLY xmlcol.nodes('doc') AS X(Doc)

为您提供以下输出:

ID  Code1   Code2   Code3
1 AA BB CC
2 BB AA CC

关于sql - 在 SQL Server 中使用 XML 类型字段获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558400/

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