با استفاده از تابع POSITION در MySQL، برای جدول users موقعیت اولین رخداد زیررشته 'gmail.com' در ستون email را نمایش دهید و تنها رکوردهایی که این زیررشته را دارند انتخاب کنید.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:41

0.0

برای حل این سوال از سینتکس POSITION('زیررشته' IN ستونی) استفاده کنید که شماره اولین کاراکتر یافت‌شده را (از 1) برمی‌گرداند و در صورت نبودن مقدار 0 را بازمی‌گرداند؛ مثال: SELECT id, email, POSITION('gmail.com' IN email) AS pos FROM users WHERE POSITION('gmail.com' IN email) > 0; اگر می‌خواهید جستجو بدون حساسیت به حروف باشد، از LOWER(email) و LOWER('gmail.com') استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:41
دسته بندی ها: MySQL MySQL for beginner
nima در 221 روز قبل ساعت 12:21

برای نمایش موقعیت اولین رخداد زیررشته 'gmail.com' در ستون email از POSITION('gmail.com' IN email) استفاده کنید و در شرط WHERE تنها رکوردهایی را بیابید که مقدار آن بزرگ‌تر از 0 است. اگر می‌خواهید جستجو حساس به حروف نباشد، از LOWER(email) و LOWER('gmail.com') استفاده کنید. روی جداول بزرگ، این تابع برای هر سطر محاسبه می‌شود؛ بنابراین اطمینان از ایندکس مناسب روی ستون email یا استفاده از روش‌های جایگزین می‌تواند بهبود کارایی بدهد. برای محدود کردن دقیق‌تر دامنه، می‌توانید از LIKE یا REGEXP با الگوهای مناسب استفاده کنید.

گزارش

1 پاسخ

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

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