我已经看到很多解决这个问题的问题,但不幸的是我仍然无法使其发挥作用。
以下是名为RentalValueAmount
的表中名为Units
的XML列中包含的XML数据示例:
<X C="1" I="0">
<E D="1000Y0M0W0D" P="1" A="36500" />
</X>
我试过这个,但没有得到任何价值:
select
cast(RentalValueAmount as XML).value('data(/X/E)[1]','varchar(10)') as test
from dbo.units
我需要使用查询提取或返回36500作为数字,但我无法这样做。显然我不懂XML,所以我非常感谢你的帮助。
答案 0 :(得分:1)
试试这个:
select
cast(RentalValueAmount as XML).value('(/X/E)[1]/@A','varchar(10)') as test
from dbo.units
如果列已经是XML数据类型,则不需要再次将其转换为XML。