برای هر ردیف در جدول messages، طول بیتِ ذخیره‌شده در ستون message را با استفاده از تابع BIT_LENGTH محاسبه کرده و خروجی شامل id و طول بیت را به ترتیب نزولی نمایش بده.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:59

0.0

از تابع MySQL BIT_LENGTH(column) برای محاسبهٔ تعداد بیت‌های ذخیره‌شده در مقدار یک ستون استفاده کنید؛ نمونهٔ کوئری: SELECT id, BIT_LENGTH(message) AS bit_len FROM messages ORDER BY bit_len DESC; توجه داشته باشید که مقدار بازگشتی به بایت‌های واقعی بر اساس مجموعه‌حروف (charset) وابسته است — برای طول به‌صورت کاراکتر از CHAR_LENGTH و برای طول به‌صورت بایت از OCTET_LENGTH استفاده کنید و برای جلوگیری از نتایج NULL می‌توانید از COALESCE یا شرط WHERE استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:59
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 202 روز قبل ساعت 07:52

برای جلوگیری از NULL در ستون پیام، از COALESCE استفاده کنید: BIT_LENGTH(COALESCE(message, '')) طول بیت را محاسبه می‌کند. خروجی را به‌صورت نزولی با ORDER BY bit_len DESC مرتب کنید. توجه کنید BIT_LENGTH برابر با طول به بایت ضربدر 8 است؛ اگر به‌جای بیت به طول کاراکتر نیاز دارید از CHAR_LENGTH استفاده کنید و برای طول به‌صورت بایت از OCTET_LENGTH. همچنین می‌توانید با اضافه کردن شرط WHERE message IS NOT NULL یا استفاده از COALESCE با مقدار خالی، نتایج بدون NULL داشته باشید.

گزارش

1 پاسخ

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

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