با استفاده از تابع CURRENT_DATE، یک پرسوجوی MySQL بنویسید که تمام سفارشهایی را که در جدول orders در تاریخ امروز ثبت شدهاند نمایش دهد.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:48 0.0
برای این کار میتوانید از ستون تاریخ سفارش (مثلاً order_date) با تابع DATE() مقایسه کنید: SELECT * FROM orders WHERE DATE(order_date) = CURRENT_DATE؛ اگر ستون از نوع DATE است، کافی است مستقیم WHERE order_date = CURRENT_DATE بنویسید. نکته: اگر ستون از نوع DATETIME است و زمان نیز ذخیره شده، استفاده از DATE(order_date) یا بازه زمانی مانند WHERE order_date >= CURRENT_DATE AND order_date
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهای مهم این است که تابع CURRENT_DATE زمان بهروز در ناحیه زمانی فعلی سرور یا-session را در نظر میگیرد. اگر ستون order_date از نوع DATETIME است و زمان ثبت سفارش را ذخیره میکند، استفاده از WHERE DATE(order_date) = CURRENT_DATE ممکن است کارایی را کاهش دهد زیرا از استفاده از اندیس جلوگیری میکند. در حالت DATETIME بهتر است از بازه زمانی استفاده کنید: WHERE order_date >= CURRENT_DATE AND order_date < CURRENT_DATE + INTERVAL 1 DAY. اگر ستون از نوع DATE است، میتوانید به سادگی WHERE order_date = CURRENT_DATE بنویسید. همچنین مطمئن شوید تفاوت منطقه زمانی بین سرور و کاربر موجب اختلاف گزارشی نشود.
گزارش