Фильтрация записей по текущей дате - PullRequest
0 голосов
/ 05 февраля 2019

Я застреваю в запросе к базе данных.У меня есть таблица с двумя столбцами, один для даты, а другой для времени.

Я хочу отфильтровать записи по текущему значению даты и времени, если только в этих записях будут отображаться те, которые содержат значение даты и времени, большее или равноетекущая дата / времяМожете ли вы помочь в написании этого SQL-запроса?Спасибо

Ответы [ 3 ]

0 голосов
/ 05 февраля 2019

Другой вариант - просто объединить дату и время.В MySQL это простой и понятный способ создания даты:

where CONCAT(date, ' ', time) > NOW()

Примечание: как прокомментировал Хуан Карлос Оропеза, это выражение не позволяет использовать существующие индексы для столбцов date и * 1005.* (если есть).Если вы имеете дело с очень большим количеством данных и / или производительность имеет критически важное значение для вас, это решение, вероятно, не будет масштабироваться так же хорошо, как решение Гордона Линоффа.

0 голосов
/ 05 февраля 2019
create table Test(id integer, title varchar(100), date DATE , time TIME);

insert into Test(id, title, date, time) values(1, "Date one", '2019-01-01', '01:20:00');
insert into Test(id, title, date, time) values(2, "Date two", '2019-01-02', '11:40:00');
insert into Test(id, title, date, time) values(3, "Date three", '2019-01-03', '23:56:00');
insert into Test(id, title, date, time) values(4, "Date foure", '2019-01-04', '12:20:00');
insert into Test(id, title, date, time) values(5, "Date five", '2019-01-05', '01:20:00');
insert into Test(id, title, date, time) values(6, "Date six", '2019-01-12', '15:47:00');
insert into Test(id, title, date, time) values(7, "Date seven", '2019-01-21', '10:20:00');
insert into Test(id, title, date, time) values(8, "Date eight", '2019-02-01', '01:20:00');


select * from Test WHERE date > '2019-01-04' OR (date = '2019-01-04' AND time >= '10:00:00');
0 голосов
/ 05 февраля 2019

Вы можете использовать:

where date > curdate() or
      (date = curdate() and time > curtime())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...