برای هر ردیف در جدول 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 استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از 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 داشته باشید.
گزارش