CHARINDEX (CHARINDEX)
در این صفحه با تابع CHARINDEX آشنا می شوی. «زیررشته (Substring)» تکه ای از متن است. این تابع دنبال زیررشته می گردد و جایگاه را می دهد. مثل پیدا کردن حرف در یک کلمه.
تعریف، رفتار و کاربرد
تابع CHARINDEX() در یک رشته جستجو می کند و موقعیت را می دهد. اگر چیزی پیدا نشود، مقدار 0 برمی گردد. جستجو غیرحساس به حروف است. یعنی A و a یکسان هستند. پارامتر شروع هم اختیاری است.
سینتکس
CHARINDEX(substring, string, start)؛ start اختیاری است و از 1 شروع می شود.
مثال پایه
SELECT
CHARINDEX('t', 'Customer') AS MatchPosition;
مثال های بیشتر
جستجو با حروف بزرگ نیز همان نتیجه را می دهد.
SELECT
CHARINDEX('OM', 'Customer') AS MatchPosition;
می توانی جستجو را از موقعیت مشخص شروع کنی.
SELECT
CHARINDEX('mer', 'Customer', 3) AS MatchPosition;
نکات سریع و سازگاری
این تابع از SQL Server 2008 پشتیبانی می شود. در Azure SQL نیز کار می کند. خروجی عدد موقعیت است. برای مرور کامل، توابع SQL Server را ببین. همچنین راهنمای تابع CHARINDEX همیشه دم دست است.
گام های پیشنهاد ی تمرین
- یک رشته نمونه بساز و چاپ کن.
- CHARINDEX را روی چند زیررشته اجرا کن.
- پارامتر شروع را تغییر بده و نتیجه را مقایسه کن.
جمع بندی سریع
- پیدا نکردن، مقدار 0 می دهد.
- جستجو نسبت به حروف بی تفاوت است.
- شروع جستجو اختیاری است.
- خروجی موقعیت از 1 شروع می شود.