با استفاده از تابع CURRENT_TIME، یک پرسوجو بنویسید که نام و زمان رویدادها (ستونهای event_name و event_time) را از جدول events نمایش دهد، اما فقط رویدادهایی که زمان آنها بعد از زمان فعلی سرور است را نشان دهد.
1.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:25 0.0
برای حل این مسأله در MySQL از SELECT همراه با شرط WHERE استفاده کنید؛ مثال کلی: SELECT event_name, event_time FROM events WHERE event_time > CURRENT_TIME; دقت کنید ستون event_time باید از نوع TIME باشد—اگر DATETIME است، میتوانید از TIME(event_time) یا CAST(event_time AS TIME) برای مقایسه استفاده کنید. نکته: CURRENT_TIME ممکن است بدون پرانتز هم کار کند و توجه کنید به اختلاف زمانی سرور در صورت نیاز به ناحیه زمانی خاص.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از CURRENT_TIME برای فیلتر کردن رویدادها بهصورت زمان فقط درست است: SELECT event_name, event_time FROM events WHERE event_time > CURRENT_TIME;. اگر event_time از نوع DATETIME باشد، باید TIME(event_time) یا CAST(event_time AS TIME) را برای مقایسه با CURRENT_TIME استفاده کنید. توجه کنید CURRENT_TIME ممکن است بدون پرانتز نیز کار کند و همچنین اختلاف منطقه زمانی سرور را بهویژه اگر با TZ متفاوت است در نظر بگیرید (مثلاً با SET time_zone یا CONVERT_TZ همگام کنید). برای بهبود کارایی در جداول بزرگ، به اندیس گذاری روی ستون event_time فکر کنید.
گزارش