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