تبدیل رشته به سطر با دستور Select
برخی مواقع نیاز هست که یک رشته متنی که حاوی تعدادی عدد هست را به سطر تبدیل کنیم به نوعی که قابلیت اتصال (Join) دادن با سایر جداول را داشته باشد . قطعه کد زیر مثالی از این مورد را ارائه می دهد :
DECLARE @TestCode NVARCHAR(MAX) = '1,2,3,4,5,6,7,8,9'
DECLARE @Xparam XML;
SELECT
@Xparam = CAST('<i>' + REPLACE(@TestCode, ',', '</i><i>') + '</i>' AS XML)
SELECT
x.i.value('.', 'INT') AS TestCode
FROM @Xparam.nodes('//i') x (i)
خروجی اجرای این دستور به شکل زیر است :

این هم یک نمونه کد اسکیوال که از خروجی دستور بالا در حال استفاده است :
DECLARE @TestCode NVARCHAR(MAX) = '1,2,3,4,5,6,7,8,9'
DECLARE @Xparam XML;
SELECT
@Xparam = CAST('<i>' + REPLACE(@TestCode, ',', '</i><i>') + '</i>' AS XML)
SELECT
StudentinTest.TestCode
FROM StudentInTest
WHERE StudentInTest.TestCode IN (SELECT
x.i.value('.', 'INT')
FROM @Xparam.nodes('//i') x (i))
از این روش جهت ذخیره سازی آزمون های یک داوطلب ، شماره صندلی های خریداری شده از یک نمایش ، لیست دسترسی های یک کاربر و یا موارد مشابه دیگر می توانید استفاده کنید .