嗨我現在在這裏我的代碼,我沒有得到正確使用此代碼的結果;如何提取xml字符串以使用XQuery/XPath在sql中創建新列?
Declare @txt varchar(max) = (
select audit_val from AuditTable
where audit_val like '%update_dt%'
and audit_val like '%PEK150700019-001%')
Declare @xml XML = CONVERT(XML,@txt)
SELECT
@xml.value('(/i/@guest_id)[1]', 'varchar(100)') as guest_id
, @xml.value('(/i/@updated_by)[1]', 'varchar(100)') as updated_by
, @xml.value('(/i/@update_dt)[1]', 'datetime') as update_dt
我所得到的是空值,而且它說,它不止一個值, 使用SELECT TOP 1會做退回,但我需要提取所有從表中的行需要在該列的字符串,有人可以幫我解決這個問題嗎?在此先感謝:)
注意**繼承人樣本輸出;
=================================================================
|guest_id | updated_by | update_dt |
|==================|==================|=========================|
|PEK150700019-001 | sherwin | 2015-08-11T13:59:09.550|
|------------------|------------------|-------------------------|
「返回多個值」 可能是你的第一個部分,在那裏你設置'@ txt'。在這裏放置一個ORDER BY和TOP 1。在提出任何問題之前,您應該確定錯誤的實際位置。 –