در MySQL با استفاده از تابع CURTIME() زمان فعلی را بدست آورید و سپس رکوردهای جدول appointments را که ستون start_time آنها بعد از زمان فعلی است انتخاب کنید.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:38 0.0
برای حل این مسئله از تابع CURTIME() برای گرفتن زمان فعلی سرور استفاده کنید و در پرسوجو از شرط WHERE برای مقایسه با ستون زمان جدول بهره ببرید. اگر ستون start_time از نوع DATETIME یا TIMESTAMP است ابتدا با تابع TIME(start_time) یا CAST/DATE_FORMAT فقط بخش زمان را استخراج کنید، سپس عبارت WHERE TIME(start_time) > CURTIME() را بنویسید؛ توجه کنید که نوع ستون و منطقه زمانی سرور (timezone) ممکن است بر نتیجه تاثیر بگذارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای بهدست آوردن زمان فعلی از CURTIME() استفاده کنید و رکوردهای appointments را با شرط TIME(start_time) > CURTIME() فیلتر کنید. اگر start_time از نوع DATETIME یا TIMESTAMP است، میتوانید TIME(start_time) یا CAST(start_time AS TIME) را به کار ببرید تا تنها بخش زمان مقایسه شود. به خاطر تفاوتهای منطقه زمانی، CURTIME() به TZ نشست شما وابسته است و ممکن است TIMESTAMPها با TZهای مختلف مقدار نهایی متفاوت باشد؛ از این رو میتوانید از UTC_TIMESTAMP() یا CONVERT_TZ برای هماهنگی زمان استفاده کنید. پیش از اجرای کوئری TZ نشست خود را بررسی یا تنظیم کنید تا نتیجه دقیقتر باشد.
گزارش