1
我有一个表格单元格下面的XML,在列MyColumn:试图使用SQL Server获取所有xml节点,我做错了什么?
<BSDL xmlns="..." xmlns:i="...">
<dateTime>2012-12-30T00:00:00Z</dateTime>
<dateTime>2013-01-07T00:00:00Z</dateTime>
<dateTime>2013-01-14T00:00:00Z</dateTime>
<dateTime>2013-01-21T00:00:00Z</dateTime>
<dateTime>2013-01-29T00:00:00Z</dateTime>
<dateTime>2013-02-05T00:00:00Z</dateTime>
<dateTime>2013-02-12T00:00:00Z</dateTime>
<dateTime>2013-02-19T00:00:00Z</dateTime>
<dateTime>2013-03-22T00:00:00Z</dateTime>
<dateTime>2013-03-29T00:00:00Z</dateTime>
<dateTime>2013-04-19T00:00:00Z</dateTime>
</BSDL>
我只是想查询使用它(得到所有XML节点):
SELECT BSDL.item.value('(dateTime)[1]', 'datetime')
from [MyTable]
CROSS APPLY [MyColumn].nodes ('//BSDL') BSDL(item)
它产生任何结果,尽管我的MyColumn
在MyTable
具有与上面相同的条目数量,对于每一行。
感谢您的帮助,但仍然没有结果..我检查了数据库,表和列的名称,以及内容一百万次..没有什么似乎,但没有错误,没有结果 – 2013-03-03 12:13:57
@OrenA:你是在你的示例中也提到一个'xmlns = .....' - 但是你没有显示** XML名称空间是什么。您还需要尊重该XML名称空间 - 请参阅我的更新回复 – 2013-03-03 13:26:51
确实命名空间是问题所在。非常感谢! – 2013-03-03 14:13:05