शायद वैध एक्सएमएल की जांच करना जरूरी नहीं है। आप उपयुक्त xml
. की उपस्थिति की जांच कर सकते हैं charindex
. के साथ टैग करें एक केस स्टेटमेंट में और substring
. का उपयोग करके त्रुटि संदेश निकालें .
यहाँ एक सरलीकृत XML स्ट्रिंग के साथ एक नमूना है, लेकिन मुझे लगता है कि आपको यह विचार मिल गया है।
declare @T table(ID int, Col1 nvarchar(1000))
insert into @T values
(1, 'No xml value 1'),
(2, 'No xml value 2'),
(3, '<root><item>Text value in xml</item></root>')
select
case when charindex('<item>', Col1) = 0
then Col1
else
substring(Col1, charindex('<item>', Col1)+6, charindex('</item>', Col1)-charindex('<item>', Col1)-6)
end
from @T
परिणाम:
No xml value 1
No xml value 2
Text value in xml