从 SQL Server 2012 中的 XML 列中提取值
Extracting a value from a XML column in SQL Server 2012
我已经看到很多关于这个问题的问题,但不幸的是我还是没能解决这个问题。
这是一个 XML 数据的示例,该数据包含在名为 RentalValueAmount
的 XML 列中,在名为 Units
的 table 中:
<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
我需要使用查询提取或 return 36500 作为数字,但我无法这样做。显然我不知道 XML,所以非常感谢您的帮助。
试试这个:
select
cast(RentalValueAmount as XML).value('(/X/E)[1]/@A','varchar(10)') as test
from dbo.units
如果该列已经是 XML 数据类型,则无需再次将其转换为 XML。
我已经看到很多关于这个问题的问题,但不幸的是我还是没能解决这个问题。
这是一个 XML 数据的示例,该数据包含在名为 RentalValueAmount
的 XML 列中,在名为 Units
的 table 中:
<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
我需要使用查询提取或 return 36500 作为数字,但我无法这样做。显然我不知道 XML,所以非常感谢您的帮助。
试试这个:
select
cast(RentalValueAmount as XML).value('(/X/E)[1]/@A','varchar(10)') as test
from dbo.units
如果该列已经是 XML 数据类型,则无需再次将其转换为 XML。