जबकि इस तरह से हटाना थोड़ा अजीब है, आप इसके बजाय डेटा को बदलने के लिए एक अपडेट कर सकते हैं, बशर्ते आपका डेटा सरल हो (जैसे कि आपने जो उदाहरण दिया)। निम्नलिखित क्वेरी मूल रूप से दो XML स्ट्रिंग्स को तालिकाओं में विभाजित करेगी, उनमें शामिल होगी, गैर-नल (मिलान) मानों को बाहर करेगी, और इसे वापस XML में परिवर्तित करेगी:
UPDATE @table
SET [column] = (
SELECT p.i.value('.','int') AS c
FROM [column].nodes('//i') AS p(i)
OUTER APPLY (
SELECT x.i.value('.','bigint') AS i
FROM @parameter.nodes('//i') AS x(i)
WHERE p.i.value('.','bigint') = x.i.value('.','int')
) a
WHERE a.i IS NULL
FOR XML PATH(''), TYPE
)