0
我有一個特別麻煩的xml列來查詢數據。該模式是由收入的魁北克省固定,「這是它是什麼」從xml列中選擇一個值
查詢的重要組成部分,是這樣的:
with XMLNAMESPACES(default 'http://www.mrq.gouv.qc.ca/T5')
select xmldata.value('(//Groupe02/*/Montants/B_PrestREER_FERR_RPDB)[1]', 'decimal(16,2)');
Groupe02和Montants之間的通配符可以是任何一個ADR或T.(這是正確的一個字母元素名稱)
問題是我需要查詢只選擇A,D或R節點,但不是T節點。作爲第一個猜測我想:
with XMLNAMESPACES(default 'http://www.mrq.gouv.qc.ca/T5')
select @x.value('(//Groupe02/A|D|R/Montants/B_PrestREER_FERR_RPDB)[1]', 'decimal(16,2)');
但失敗與錯誤「的XQuery語法‘聯盟’,不支持」
什麼其他可能的方式是有做出這樣的查詢。
看起來真是個好主意! :-) – 2009-11-06 15:18:04
輝煌---順便說一句,似乎local-name()是要使用的函數。 – 2009-11-06 15:33:19