gpt4 book ai didi

sql - 如何通过在XML列上使用xpath来选择行?

转载 作者:行者123 更新时间:2023-12-03 17:18:18 26 4
gpt4 key购买 nike

我有一个表,该表的列名为Description,其中包含XML,例如:

<Parent>
<Child Target="A" Id="123456">
<SpecialCode Target="I" Value="2530138" />
</Child>
</Parent>


如果我想设置一个名为 @value的参数来表示此xml中的Value属性,

如何在 SELECT列中具有 MyTable属性等于 DescriptionSpecialCode中的 @value行?

DECLARE @value varchar(20);
SET @value = '44555'
SELECT ....
FROM MyTable

最佳答案

怎么样:

SELECT (list of columns)
FROM dbo.MyTable
WHERE [Description].exist('/Parent/Child/SpecialCode[@Value=sql:variable("@value")]') = 1


如果您的XML列在其他列中,那么您将使用:

SELECT (list of columns)
FROM dbo.MyTable t1
INNER JOIN dbo.MyTable t2 ON t1.ID = t2.ID
WHERE t2.[Description].exist('/Parent/Child/SpecialCode[@Value=sql:variable("@value")]') = 1


只是为您的表添加别名,正确地将它们联接起来,并在XML列之前添加适当的表别名...。

关于sql - 如何通过在XML列上使用xpath来选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8492487/

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