سلام و عرض ادب خدمت دوستان عزیز
امیدوارم حالتون خوب باشه
در اکثر جاهایی که مشاوره دادم ، بارها مشاهده کردم که نیاز بوده یک رشته ای که با , از هم جدا شده نیاز بوده به صورت جدول تبدیل بشه و برای این امر شروع به نوشتن توابعی کردن که معمولا بهینه نبوده.
از نسخه ۲۰۱۶ به بعد تابعی به اسم String_split به زبان قدرتمند T-SQL اضافه شده که اینکارو برای شما می کنه.
برای استفاده ا زاین تابع حتما باید Compatibility level برابر ۱۳۰ یا بزرگتر باشه.
نمونه استفاده این تابع هم در کد زیر ملاحظه می کنید.
DECLARE @orderids AS VARCHAR(MAX) = N'10248,10542,10731,10765,10812';
SELECT value
FROM STRING_SPLIT(@orderids, ',');
به دلیل این که یک Result Set برگردانده میشه میتونید درر Join ها و Apply و ... نیز استفاده کنید.
ارادتمند شما
حمیدرضا صادقیان
ID : @Hamidreza_Sadeghian
Channel : @SQL_Server
#T-SQL_Hints
#String_Split
امیدوارم حالتون خوب باشه
در اکثر جاهایی که مشاوره دادم ، بارها مشاهده کردم که نیاز بوده یک رشته ای که با , از هم جدا شده نیاز بوده به صورت جدول تبدیل بشه و برای این امر شروع به نوشتن توابعی کردن که معمولا بهینه نبوده.
از نسخه ۲۰۱۶ به بعد تابعی به اسم String_split به زبان قدرتمند T-SQL اضافه شده که اینکارو برای شما می کنه.
برای استفاده ا زاین تابع حتما باید Compatibility level برابر ۱۳۰ یا بزرگتر باشه.
نمونه استفاده این تابع هم در کد زیر ملاحظه می کنید.
DECLARE @orderids AS VARCHAR(MAX) = N'10248,10542,10731,10765,10812';
SELECT value
FROM STRING_SPLIT(@orderids, ',');
به دلیل این که یک Result Set برگردانده میشه میتونید درر Join ها و Apply و ... نیز استفاده کنید.
ارادتمند شما
حمیدرضا صادقیان
ID : @Hamidreza_Sadeghian
Channel : @SQL_Server
#T-SQL_Hints
#String_Split