با استفاده از تابع DATEDIFF در MySQL تعداد روزهای بین تاریخ سفارش و تاریخ تحویل برای هر سفارش را محاسبه کنید و سفارشهایی که بیش از 7 روز طول کشیدهاند را نمایش دهید.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:16 0.0
برای حل این سؤال از تابع DATEDIFF(delivery_date, order_date) استفاده کنید که تفاوت بهصورت روز را برمیگرداند (ترتیب آرگومانها مهم است: تاریخ بعدی باید اول باشد). یک پرسوجوی ساده SELECT با محاسبه DATEDIFF و شرط WHERE برای فیلتر کردن مقادیر بزرگتر از 7 کافی است؛ همچنین مطمئن شوید فیلدهای تاریخ NULL نیستند یا در صورت ذخیره بهصورت رشته از STR_TO_DATE برای تبدیل استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای استفاده از DATEDIFF در MySQL، تفاوت روزها را بهصورت DATEDIFF(delivery_date, order_date) بهدست میآورید (توجه کنید که ترتیب آرگومانها مهم است). برای نمایش سفارشهایی که بیش از 7 روز طول کشیدهاند، شرط WHERE DATEDIFF(delivery_date, order_date) > 7 کافی است، و بهتر است مقادیر NULL با IS NOT NULL یا تابعهای COALESCE مدیریت شوند. اگر تاریخها بهصورت رشته ذخیره شدهاند، از STR_TO_DATE برای تبدیل استفاده کنید تا محاسبه درست باشد. همچنین وجود ایندکس مناسب روی فیلدهای تاریخ به بهبود کارایی کمک میکند.
گزارش