FIELD (FIELD)
تابع FIELD جایگاه یک مقدار را در یک لیست برمی گرداند. «ایندکس (Index)» یعنی شماره موقعیت. مثل شماره صندلی در کلاس.
تعریف و کاربرد
FIELD() بین چند مقدار جست وجو می کند و شماره اولین تطبیق را می دهد. جست وجو نسبت به حروف کوچک/بزرگ بی حس است. اگر مقدار پیدا نشود یا مقدار NULL باشد، نتیجه 0 است. برای دیدن موارد مرتبط، FIND_IN_SET را هم ببین.
نکته: اگر به چسباندن با جداکننده نیاز داری، CONCAT_WS مناسب است.
نحو (Syntax)
FIELD(value, val1, val2, val3, ...);
مثال 1: یافتن حروف
موقعیت "q" را در لیست پیدا کن.
SELECT FIELD("q", "s", "q", "l");
مثال 2: وقتی مقدار نیست
"c" در لیست نیست؛ پس خروجی صفر است.
SELECT FIELD("c", "a", "b");
مثال 3: حروف کوچک و بزرگ
جست وجو نسبت به بزرگی حروف بی حس است.
SELECT FIELD("Q", "s", "q", "l");
مثال 4: اعداد
شماره جایگاه 5 را در لیست بده.
SELECT FIELD(5, 0, 1, 2, 3, 4, 5);
گام های تمرینی
- سه مقدار دلخواه تعیین کن.
- با FIELD یکی را جست وجو کن.
- یک مقدار ناموجود را امتحان کن.
نکات مهم
- نتیجه ناموجود یا NULL برابر صفر است.
- نخستین تطبیق برگردانده می شود.
- حروف کوچک/بزرگ تفاوتی ندارند.
- تابع FIELD برای مرتب سازی دستی مفید است.
جمع بندی سریع
- FIELD شماره موقعیت را می دهد.
- ناموجود یا NULL یعنی صفر.
- حروف بزرگ تفاوتی ایجاد نمی کنند.
- اولین تطبیق بازگردانده می شود.