我的表中存储有 XML。该表具有 int 类型的列 id 和 XML 类型的值。我正在使用 SQL Server 2012。
XML 看起来像这样:
<?xml version="1.0" encoding="utf-16"?>
<Weather>
<Forecast>
<Description>sky is clear</Description>
<Date>6.9.2013 23:50:36</Date>
<MinTemp>13</MinTemp>
<MaxTemp>13</MaxTemp>
<Pressure>995</Pressure>
<Humidity>68</Humidity>
</Forecast>
</Weather>
该 XML 最多可以包含 Forecast 部分。如何使用简单的 SELECT 语句获取湿度值?
我一直在尝试在这里找到的几件事,但我一直得到 NULL,所以这就是我问这个问题的原因。请帮忙...
如果您的 xml 中有多个 Forecast,请使用nodes http://technet.microsoft.com/en-us/library/ms188282.aspx功能:
select
id, d.c.value('Humidity[1]', 'bigint') as Humidity
from test as t
outer apply t.Data.nodes('Weather/Forecast') as d(c)
sql fiddle demo http://sqlfiddle.com/#!3/3a613/2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)