با استفاده از تابع LOG10 در MySQL، مقدار لگاریتم پایه 10 ستون value در جدول numbers را برای ردیفهایی که value بزرگتر از صفر هستند محاسبه کرده و با نام log_value در خروجی نمایش دهید.
8.0 بازدید آخرین ویرایش در 199 روز قبل ساعت 23:33 0.0
برای حل این مسئله از پرسوجوی SELECT همراه با تابع LOG10 استفاده کنید: SELECT LOG10(value) AS log_value FROM numbers WHERE value > 0; دقت کنید که LOG10 برای مقادیر نامعتبر (مثلاً صفر یا منفی) تعریف نشده است، بنابراین میتوانید با شرط WHERE یا با CASE از وقوع خطا جلوگیری کنید. در صورت نیاز برای نمایش عددی دقیقتر از ROUND(LOG10(value), n) استفاده کنید؛ همچنین اگر نسخه MySQL شما LOG10 را نداشت میتوانید از LOG(value, 10) یا LN و تبدیلهای معادل بهره ببرید. این تمرین مفاهیم Functions & Expressions و Data Querying را تقویت میکند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از خطا حتماً شرطی مثل WHERE value > 0 (و در صورت نیاز IS NOT NULL) قرار دهید تا لگاریتم روی مقادیر نامعتبر اجرا نشود. اگر میخواهید خروجی دقیق یا قالببندیشده ارائه کنید از ROUND(LOG10(value), n) یا CAST/FORMAT استفاده کنید تا تعداد اعشار کنترل شود. در صورتی که تابع LOG10 در نسخه شما موجود نباشد میتوانید از LOG(value, 10) یا LN(value)/LN(10) استفاده کنید و توجه داشته باشید محاسبات لگاریتمی روی عددهای اعشاری ممکن است خطای شناور داشته باشند.
گزارش