یک پرس‌وجو بنویسید که نام کاربران (ستون name) و تعداد کاراکترهای هر نام را با استفاده از تابع CHAR_LENGTH از جدول users نمایش دهد و فقط رکوردهایی را نشان دهد که طول نام‌شان بیش از 5 کاراکتر است.

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

0.0

برای حل این مسئله از یک SELECT ساده در MySQL استفاده کنید: ستون name را همراه با CHAR_LENGTH(name) به عنوان یک alias انتخاب کنید و در بخش WHERE شرط CHAR_LENGTH(name) > 5 را قرار دهید. نمونه‌ی کوئری: SELECT name, CHAR_LENGTH(name) AS length FROM users WHERE CHAR_LENGTH(name) > 5;. توجه داشته باشید که CHAR_LENGTH تعداد کاراکترها را (در متن‌های UTF-8 هم) می‌شمارد، در حالی که LENGTH تعداد بایت‌ها را برمی‌شمارد؛ همچنین برای جلوگیری از مشکل در صورت وجود مقدار NULL می‌توانید از COALESCE(name,'') استفاده کنید و در صورت نیاز از ORDER BY برای مرتب‌سازی خروجی کمک بگیرید.

توسط پژوهشگر در 221 روز قبل ساعت 01:22
دسته بندی ها: MySQL MySQL for beginner
arman در 221 روز قبل ساعت 13:29

برای جلوگیری از خطا با مقادیر NULL در ستون name، از COALESCE(name,'') استفاده کنید. CHAR_LENGTH تعداد کاراکترها را در UTF-8 می‌شمارد، و با LENGTH که تعداد بایت‌ها را برمی‌گرداند تفاوت دارد. اگر می‌خواهید خروجی مرتب باشد، از ORDER BY CHAR_LENGTH(name) ASC/DESC استفاده کنید. برای فیلتر کردن نام‌های طولانی‌تر از 5 کاراکتر، شرط WHERE CHAR_LENGTH(name) > 5 کفایت می‌کند.

گزارش

1 پاسخ

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

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