我有下面一段XML作爲表XML列的一部分說MyTable的XQuery來解析XML標記爲列
<policystatusdetail id="XXXXXXXXXXXXXXX">
<CurrentUser>ABCDEFG</CurrentUser>
<LastModifiedDateTime>2016-04-02T17:03:01.761</LastModifiedDateTime>
<PolicyStatus>Quote-New-Pending</PolicyStatus>
</policystatusdetail>
我想只提取PolicyStatus作爲列。
我使用下面的查詢
Select x.r.value('@PolicyStatus','varchar(500)') as PolicyStatus
from
(Select cast(XMLData as XML) XMLData from Mytable) s
cross apply s.XMLData.nodes('session/data/policyAdmin/policyStatusdetail') as x(r)
但它返回零行。誰能幫忙?
這可能是一個問題的情況。如果你的xml看起來像'policystatusdetail',你需要查找節點'policystatusdetail',而不是'policyStatusdetail'。此外,'PolicyStatus [1]',而不是'@ PolicyStatus'。使用您當前使用的內容,它將在policystatusdetail節點中查找屬性「PolicyStatus」(例如,查找「id」,您將使用'@ id')。 – ZLK
嗨柴坦尼亞,因爲你在這裏很新(順便說一句:歡迎!),請允許我一個提示:這是非常友好的你說*謝謝*(你給這個答案的答案),但它會更仁慈,在(最佳)答案的投票櫃檯下面打勾驗收。這將1)標記此問題已解決2)使追隨者更容易找到最佳解決方案3)支付點給答覆者和4)支付點給你。一旦你自己超過了15分的邊界,你又被要求對貢獻進行投票。這是SO的方式來說聲謝謝。快樂編碼! – Shnugo