برای هر سفارش در جدول orders که شامل ستونهای order_date و ship_date است، با استفاده از تابع DATEDIFF تعداد روزهای بین تاریخ سفارش و تاریخ ارسال را محاسبه کرده و نتیجه را بهعنوان days_between همراه با order_id نمایش دهید.
4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:05 0.0
در MySQL از تابع DATEDIFF(date1, date2) برای محاسبه اختلاف بهصورت تعداد روز بین دو تاریخ استفاده کنید (معمولاً DATEDIFF(ship_date, order_date) برای بهدستآوردن روزهای سپریشده مفید است). کوئریای مثل SELECT order_id, DATEDIFF(ship_date, order_date) AS days_between FROM orders WHERE ship_date IS NOT NULL; را اجرا کنید. توجه داشته باشید که ترتیب آرگومانها مهم است، ممکن است نیاز به تبدیل نوع DATETIME به DATE یا فیلتر کردن مقادیر NULL داشته باشید؛ این سوال در دامنههای Functions & Expressions و Data Querying قرار میگیرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته مهم این است که ترتیب آرگومانهای DATEDIFF در MySQL تعیینکننده جهت تفاوت است؛ معمولاً DATEDIFF(ship_date, order_date) روزهای سپریشده را برمیگرداند. اگر ممکن است ship_date NULL باشد، از WHERE ship_date IS NOT NULL استفاده کنید یا با CASE/IFNULL مقدار NULL را مدیریت کنید. همچنین اگر فیلدها DATETIME هستند، قبل از محاسبه آنها را به DATE تبدیل کنید تا فقط تاریخها محاسبه شوند (مثلاً DATE(ship_date) و DATE(order_date)). بهخوبی به خاطر داشته باشید که DATEDIFF تفاوت کلِ روزها را میدهد و تفاوت کاری یا زمانبندی تعطیلات را در نظر نمیگیرد.
گزارش