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