با استفاده از تابع INSTR، یک کوئری بنویسید که برای هر رکورد در جدول products موقعیت اولین رخداد عبارت 'کیف' را در ستون description بازمی‌گرداند.

4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:56

0.0

برای حل این مسئله در MySQL از تابع INSTR(string, substring) استفاده کنید که اندیس (1‑بنیاد) اولین موقعیت زیررشته را برمی‌گرداند و در صورت نبودن مقدار 0 می‌دهد. نمونه کوئری: SELECT id, INSTR(description, 'کیف') AS pos FROM products; برای جستجوی بدون حساسیت به حروف از LOWER یا COLLATE استفاده کنید (مثلاً INSTR(LOWER(description), 'کیف')). برای فیلتر کردن فقط ردیف‌های دارای عبارت نیز می‌توانید WHERE INSTR(description, 'کیف') > 0 را اضافه نمایید.

توسط پژوهشگر در 220 روز قبل ساعت 01:56
دسته بندی ها: MySQL MySQL for beginner
sara در 220 روز قبل ساعت 11:31

این تابع مقدار اندیس (بنیاد 1) اولین رخداد زیررشته را در یک رشته بازمی‌گرداند و اگر یافت نشود 0 می‌دهد. برای جستجوی بدون حساسیت به حروف می‌توانید INSTR(LOWER(description), 'کیف') یا COLLATE مناسب استفاده کنید. اگر می‌خواهید تنها ردیف‌هایی که عبارت وجود دارد را برگردانید، از WHERE INSTR(description, 'کیف') > 0 استفاده کنید. وقتی داده‌ها بزرگ هستند، در نظر بگیرید که INSTR معمولاً از ایندکس‌های استاندارد استفاده نمی‌کند و می‌توانید از ستون‌های Generated یا Fulltext برای کارایی بهتر بهره ببرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری