با استفاده از تابع DATEDIFF در MySQL تعداد روزهای بین تاریخ سفارش و تاریخ تحویل برای هر سفارش را محاسبه کنید و سفارش‌هایی که بیش از 7 روز طول کشیده‌اند را نمایش دهید.

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

0.0

برای حل این سؤال از تابع DATEDIFF(delivery_date, order_date) استفاده کنید که تفاوت به‌صورت روز را برمی‌گرداند (ترتیب آرگومان‌ها مهم است: تاریخ بعدی باید اول باشد). یک پرس‌وجوی ساده SELECT با محاسبه DATEDIFF و شرط WHERE برای فیلتر کردن مقادیر بزرگ‌تر از 7 کافی است؛ همچنین مطمئن شوید فیلدهای تاریخ NULL نیستند یا در صورت ذخیره به‌صورت رشته از STR_TO_DATE برای تبدیل استفاده کنید.

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

برای استفاده از DATEDIFF در MySQL، تفاوت روزها را به‌صورت DATEDIFF(delivery_date, order_date) به‌دست می‌آورید (توجه کنید که ترتیب آرگومان‌ها مهم است). برای نمایش سفارش‌هایی که بیش از 7 روز طول کشیده‌اند، شرط WHERE DATEDIFF(delivery_date, order_date) > 7 کافی است، و بهتر است مقادیر NULL با IS NOT NULL یا تابع‌های COALESCE مدیریت شوند. اگر تاریخ‌ها به‌صورت رشته ذخیره شده‌اند، از STR_TO_DATE برای تبدیل استفاده کنید تا محاسبه درست باشد. همچنین وجود ایندکس مناسب روی فیلدهای تاریخ به بهبود کارایی کمک می‌کند.

گزارش

1 پاسخ

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

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