我有一个表,其中一个字段类型是xml,并且数据以xml格式保存。我的xml是
<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DELETED>
<STOCK_CODE>111111</STOCK_CODE>
<MakeID>GB00000001</MakeID>
<ModelID>GB00000001</ModelID>
<EngineSize />
<YearMakeFrom>0</YearMakeFrom>
<YearMakeTo>0</YearMakeTo>
<Automatic>1</Automatic>
<SemiAutomatic>1</SemiAutomatic>
<Manual>0</Manual>
<OtherInfo />
<Status>UPDATED</Status>
</DELETED>
</Record>
所以请告诉我如何在sql server 2005中查询上面的xml文档。请帮忙。感谢。
答案 0 :(得分:1)
你没有说出你正在寻找的东西 - 所以这只是猜测。
假设您有一个满行的表,每行都有一个包含上述结构的XML列XmlData
,并且您希望从该XML获取Stock_Code
和ModelID
。
在这种情况下,您可以使用以下内容:
SELECT
ID,
XmlData.value('(/Record/DELETED/STOCK_CODE)[1]', 'BIGINT') AS 'StockCode',
XmlData.value('(/Record/DELETED/ModelID)[1]', 'VARCHAR(25)') AS 'ModelID'
FROM
dbo.YourTable
WHERE
(some condition)
这就是你要找的东西吗?如果没有:请澄清你的问题!