با استفاده از تابع CURRENT_DATE، همه سفارش‌هایی که در جدول orders و در ستون order_date دقیقا امروز ثبت شده‌اند را بازگردانید.

17.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:31

0.0

فرض کنید جدول orders شامل ستون order_id، order_date (از نوع DATE یا DATETIME)، customer_id و total_amount است؛ برای پیدا کردن سفارش‌های امروز می‌توانید از WHERE DATE(order_date) = CURRENT_DATE یا اگر order_date از نوع DATE است مستقیماً WHERE order_date = CURRENT_DATE استفاده کنید. توجه کنید که در صورت ذخیره شدن زمان (DATETIME) از تابع DATE یا تبدیل مناسب استفاده کنید تا بخش زمان در مقایسه اثر نگذارد.

توسط پژوهشگر در 198 روز قبل ساعت 04:31
دسته بندی ها: MySQL MySQL for beginner
arman در 198 روز قبل ساعت 04:31

اگر ستون order_date از نوع DATETIME باشد، استفاده از DATE(order_date) = CURRENT_DATE کار می‌کند اما معمولاً باعث غیرفعال شدن شاخص می‌شود و کندی در جداول بزرگ به‌همراه دارد. بهتر است از مقایسه بازه‌ای — یعنی انتخاب رکوردهایی از ابتدای امروز تا قبل از ابتدای فردا — استفاده کنید تا بتوانید از ایندکس بهره ببرید. همچنین به اختلاف منطقه زمانی بین سرور بانک‌اطلاعاتی و اپلیکیشن توجه کنید تا سفارش‌های "امروز" مطابق انتظار باشند. اگر order_date از نوع DATE باشد، مقایسه مستقیم order_date = CURRENT_DATE ساده و مناسب است.

گزارش

1 پاسخ

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

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