با استفاده از تابع REGEXP در MySQL، از جدول employees تمام رکوردهایی را بیابید که ستون full_name شامل کاراکترهای غیرحرفی (اعداد یا نمادها) باشد.

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

0.0

برای حل این سوال از عبارت SELECT همراه با شرط WHERE و عملگر REGEXP استفاده کنید؛ مثلاً WHERE full_name REGEXP '[^[:alpha:] ]' تا هر نامی که حاوی کاراکتر غیرحرفی (اعداد یا علامت) است برگردانده شود. در MySQL 8 می‌توانید از REGEXP_LIKE نیز استفاده کنید؛ نکته‌ها: از کلاس‌های POSIX مانند [:alpha:] و [:digit:] بهره ببرید، به کولیشن (حساسیت به حروف بزرگ/کوچک) توجه کنید و برای تست الگوها ابتدا چند نمونه داده بسازید تا خروجی را بررسی کنید.

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

برای یافتن رکوردهایی با وجود کاراکترهای غیرحرفی در full_name، از شرط REGEXP در WHERE استفاده کنید (مثلاً WHERE full_name REGEXP '[^[:alpha:] ]'). در نظر بگیرید که REGEXP در بیشتر کولیشن‌ها نسبت به حروف بزرگ/کوچک حساس نیست، بنابراین اگر نیاز به حساسیت دارید از REGEXP_LIKE با گزینه‌های match_type مانند 'c' استفاده کنید یا COLLATE مربوطه را تعیین کنید. همچنین می‌توانید الگوی خود را با کلاس‌های POSIX مانند [:alpha:] و [:digit:] ترکیب کنید تا دقیقاً نویسه‌های غیرحرفی را پیدا کنید. برای تست، ابتدا چند داده نمونه بسازید تا خروجی را بررسی کنید.

گزارش

1 پاسخ

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

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