FIND_IN_SET (FIND_IN_SET)
تابع FIND_IN_SET جایگاه یک رشته را در یک لیستِ رشته ایِ جداشده با کاما می دهد. اگر پیدا نشود، 0 برمی گردد. اگر هرکدام NULL باشد، نتیجه NULL است.
تعریف و کاربرد
این تابع موقعیت رشته ورودی را در string_list برمی گرداند. string_list باید با کاما جدا شده باشد.
سینتکس
FIND_IN_SET(string, string_list)
مثال پایه
جستجو برای "q" داخل لیست "s,q,l":
SELECT FIND_IN_SET('q', 's,q,l');
بازگشتی ها
یافت نشود: خروجی 0 است.
SELECT FIND_IN_SET('a', 's,q,l');
ورودی NULL: اگر رشته یا لیست NULL باشد، نتیجه NULL است.
SELECT FIND_IN_SET('q', NULL);
لیست خالی: اگر string_list خالی باشد، خروجی 0 است.
SELECT FIND_IN_SET('q', '');
گام های سریع استفاده
- لیست را با کاما جدا کن.
- رشته هدف را مشخص کن.
- خروجی را به عنوان جایگاه بخوان.
نکته: برای جستجوی «ایندکس در لیست»، تابع FIELD را هم ببین. برای کار با ادغام متن ها، CONCAT مفید است.
جمع بندی سریع
- لیست باید با کاما جدا شود.
- نیافتن، یعنی خروجی صفر.
- NULL ورودی، نتیجه NULL می دهد.
- برای لیست خالی هم صفر می آید.
منبع: W3Schools: FIND_IN_SET()