با استفاده از تابع 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

توسط پژوهشگر در 202 روز قبل ساعت 02:48
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 202 روز قبل ساعت 08:26

نکته‌ای مهم این است که تابع 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 بنویسید. همچنین مطمئن شوید تفاوت منطقه زمانی بین سرور و کاربر موجب اختلاف گزارشی نشود.

گزارش

1 پاسخ

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

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