با استفاده از تابع DATEDIFF در MySQL، برای هر رکورد جدول orders تعداد روز بین order_date و delivery_date را محاسبه و همراه order_id نمایش دهید.

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

0.0

برای حل این سوال از تابع DATEDIFF(end_date, start_date) در MySQL استفاده کنید؛ مثلا SELECT order_id, DATEDIFF(delivery_date, order_date) AS days_between FROM orders; می‌توانید رکوردهایی که هنوز delivery_date ندارند را با WHERE delivery_date IS NOT NULL فیلتر کنید و نتیجه را با ORDER BY مرتب یا با یک alias نمایش دهید. مراقب NULLها و حالت‌هایی که تاریخ تحویل زودتر از تاریخ سفارش است (مقدار منفی) باشید.

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

برای محاسبه تفاوت روزها بین order_date و delivery_date در MySQL از DATEDIFF(delivery_date, order_date) استفاده کنید و نتیجه را با عنوان days_between نمایش دهید. اگر delivery_date ممکن است NULL باشد، رکوردها را با WHERE delivery_date IS NOT NULL فیلتر کنید تا نتیجه‌ای معتبر داشته باشید. توجه کنید خروجی منفی نشان می‌دهد که تاریخ تحویل زودتر از تاریخ سفارش است و باید این حالت را بررسی یا علامت‌گذاری کنید. برای نمایش مرتب و روشن‌تر، می‌توانید از alias استفاده کرده و نتایج را با ORDER BY days_between مرتب کنید.

گزارش

1 پاسخ

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

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