Как правильно сделать запрос с условием по времени?

В общем ситуация, имею таблицу:
CREATE TABLE IF NOT EXISTS `notification` (
  `id` int(7) NOT NULL AUTO_INCREMENT,
  `to_id` int(15) NOT NULL,
  `set_time_in` time NOT NULL DEFAULT '00:00:00',
  `set_time_out` time NOT NULL DEFAULT '00:00:00',
  `stop` time NOT NULL DEFAULT '00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Скрипт работает практически всегда. Юзер устанавливает, что ему уведомления слать только с 10:00 до 18:00, а другой - с 15:00 до 03:00.
Какой запрос осуществить к БД со временем H:i(текущим), кто разрешил в это время присылать уведомление?

Например:
1) в 16:00 уведомление прилетает обоим.
2) в 02:00 уведомление прилетает только второму.
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
WHERE IF (`set_time_in` > `set_time_out`, 
          `set_time_in` <= CURTIME() OR `set_time_out` >= CURTIME(),
          `set_time_in` <= CURTIME() AND `set_time_out` >= CURTIME())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы