【发布时间】:2017-07-01 14:02:47
【问题描述】:
这是我的 SQL:
create table sqm (data xml)
insert into sqm
select '<DataSet xmlns="http://www.bnr.ro/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bnr.ro/xsd nbrfxrates.xsd">
<Cube date="2017-06-30">
<Rate currency="AED">1.0867</Rate>
<Rate currency="AUD">3.0665</Rate>
<Rate currency="BGN">2.3284</Rate>
</Cube>
</DataSet>'
select
m.c.value('@date', 'date') as valuta
from sqm as s
outer apply s.data.nodes('/DataSet/Body/Cube') as m(c)
在花了几个小时试图找出为什么我的 SQL 在数据库中一直返回 NULL 之后,我发现我的问题是由于 XML 开头的超链接引用(在 DataSet 之后)。
我真的很想知道为什么会这样,我可以删除<DataSet 和> 之间的所有内容。还有其他选择吗?
如果您能想到更好的标题,请编辑。
【问题讨论】:
标签: sql sql-server xml tsql