با استفاده از تابع 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 ممکن است بدون پرانتز هم کار کند و توجه کنید به اختلاف زمانی سرور در صورت نیاز به ناحیه زمانی خاص.

توسط پژوهشگر در 202 روز قبل ساعت 02:25
دسته بندی ها: MySQL MySQL for beginner
arash در 202 روز قبل ساعت 09:42

استفاده از 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 فکر کنید.

گزارش

1 پاسخ

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

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