در 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) ممکن است بر نتیجه تاثیر بگذارد.

توسط پژوهشگر در 221 روز قبل ساعت 01:38
دسته بندی ها: MySQL MySQL for beginner
arman در 221 روز قبل ساعت 12:34

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

گزارش

1 پاسخ

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

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