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