LOCATE (LOCATE)
تابع «LOCATE (Locate)» جای اولین «زیررشته (Substring)» را در «رشته (String)» می دهد. اگر چیزی پیدا نشود، صفر برمی گردد. جستجو غیرحساس به حروف است؛ یعنی A و a یکسان اند.
LOCATE چه کار می کند؟
با LOCATE() می فهمیم یک تکه متن کجای متن اصلی است. این کار برای فیلتر، اعتبارسنجی، و گزارش گیری مفید است.
سینتکس
LOCATE(substring, string, start);
پارامترها
substring: زیررشته هدف برای جستجو.string: رشته اصلی برای جستجو.start: شروع جستجو از این مکان. پیش فرض 1 است.
مثال پایه
عدد 3 را در رشته W3Schools.com پیدا کن و جای آن را بده:
SELECT LOCATE("3", "W3Schools.com") AS MatchPosition;
شروع از موقعیت مشخص
زیررشته com را از موقعیت 3 به بعد پیدا کن:
SELECT LOCATE("com", "W3Schools.com", 3) AS MatchPosition;
جستجو در ستون جدول
جای حرف a را در نام مشتری ها برگردان:
SELECT LOCATE("a", CustomerName) AS MatchPosition
FROM Customers;
گام های عملی
- رشته اصلی یا ستون را مشخص کن.
- زیررشته هدف را تعیین کن.
- درصورت نیاز،
startرا تنظیم کن. - نتیجه موقعیت را بررسی کن.
نکته: جستجوی زیررشته در MySQL با INSTR() هم ممکن است. همچنین LOCATE() با POSITION() برابر است.
جمع بندی سریع
- عدم یافتن، مقدار 0 می دهد.
- جستجو غیرحساس به حروف است.
startنقطه آغاز را تغییر می دهد.- برای فیلتر رکوردها بسیار کاربردی است.