#mysql #sql #time
#mysql #sql #время
Вопрос:
Вот схема:
CREATE TABLE `available_timings` (
`id` bigint(20) NOT NULL ,
`from_time` time DEFAULT NULL,
`to_time` time DEFAULT NULL
);
INSERT INTO `available_timings` (`id`, `from_time`, `to_time`) VALUES
(1, '15:11:00' , '17:15:00'),
(2, '15:11:00', '15:11:00'),
(3, '09:00:00', '12:30:00'),
(4, '15:40:00', '15:40:00'),
(5,'13:30:00', '17:15:00'),
(6, '16:10:00', '16:10:00'),
(7, '07:45:00', '11:45:00'),
(8, '19:00:00', '22:30:00'),
(9, '16:14:00', '16:14:00'),
(10, '09:30:00', '17:45:00'),
(11, '10:30:00','15:15:00');
http://sqlfiddle.com /#!9/fc9afe/2
Я пытаюсь выяснить, находится ли текущее время между from time
и to time
в mysql
SELECT *
FROM `available_timings`
WHERE curtime() >=`from_time` or curtime() <=`to_time`
я искал много форумов, а также пробовал несколько запросов, но не смог добиться успеха.
Может ли кто-нибудь помочь мне здесь решить мою проблему
Спасибо
Комментарии:
1. между время от времени и время от времени
Ответ №1:
Используйте BETWEEN
SELECT *
FROM `available_timings`
WHERE curtime() BETWEEN `from_time` AND `to_time`
Комментарии:
1. Абсолютно правильный ответ. В любом случае: sqlblog.org/2011/10/19 /…
2. запрос @Barmer.now выглядит просто, но для меня это не выходило из головы. большое спасибо
Ответ №2:
Используйте AND
вместо OR
WHERE curtime() >= `from_time`
AND curtime() <= `to_time`
Вы не хотите, чтобы какое-либо из этих условий было истинным. Вы хотите, чтобы оба они были истинными.
Комментарии:
1. @juergen.это работает на php очень хорошо, но не работает в sql.в любом случае спасибо за ответ
2. Этот код на 100% состоит из SQL. Там он не терпит неудачу. Должно быть что-то еще.