Вы можете проанализировать 12-часовое время следующим образом:
STR_TO_DATE('1:30pm', '%l:%i%p')
Результат:
+----------------------------------+
| str_to_date('1:30pm', '%l:%i%p') |
+----------------------------------+
| 13:30:00 |
+----------------------------------+
Это значение ВРЕМЕНИ, а не DATETIME.Функция NOW()
вернет DATETIME, поэтому вы должны использовать CURRENT_TIME()
.
mysql> select current_time() + interval 1 hour;
+----------------------------------+
| current_time() + interval 1 hour |
+----------------------------------+
| 02:57:13 |
+----------------------------------+
Затем вы можете сравнить ВРЕМЯ со ВРЕМЕНЕМ.
mysql> select str_to_date('1:30pm', '%l:%i%p') <= current_time() + interval 1 hour;
+----------------------------------------------------------------------+
| str_to_date('1:30pm', '%l:%i%p') <= current_time() + interval 1 hour |
+----------------------------------------------------------------------+
| 0 |
+----------------------------------------------------------------------+