admin

在SQL Server中从表中选择XML

sql

我的表中存储了XML。该表具有ID类型为int的列和值类型为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语句获取例如Humidity值?

我一直在尝试在这里找到的多个Thin,但是我一直得到NULL,所以这就是我问这个问题的原因。请帮忙…


阅读 171

收藏
2021-06-07

共1个答案

admin

尝试这样:-

select
  columnname
from
  MyTable
where
  columnname.value('(/Weather/Forecast)[1]', 'varchar(max)') like 'StringToSearchFor'

或如此链接中所建议的那样:-

SELECT 
[xmlField].value('(/Weather//Forecast/Description/node())[1]', 'nvarchar(max)') as columname
FROM [myTable]
2021-06-07