2015-02-27 3 views
0

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

Однако завтра только относится к началу дня завтра (после полуночи). Это момент времени, который не охватывает весь день.

поэтому я могу сделать это по моему запросу?

WHERE myTable.my_datetime >= 'tomorrow' 

но что такое < значение после этого? нет «завтра. завтра», а «завтра» + 1 не работает.

Любые идеи?

ответ

1

Существует функция, называемая date_trunc(), которая усекает часть метки времени. Таким образом, вы можете сделать что-то вроде этого:

WHERE date_trunc('day', NOW() + INTERVAL '1 day') = date_trunc('day', the_column) 
+0

Это сделал трюк. Спасибо ! – JasonGenX

+0

Добро пожаловать! Не забудьте принять :) – ckruse

1

Вы можете использовать date_trunc таким образом, чтобы избежать вызова date_trunc для каждого myTable.my_datetime значения в таблице, поэтому он будет работать быстрее:

WHERE myTable.my_datetime BETWEEN date_trunc('day', NOW()) AND date_trunc('day', NOW() + '1 day') 
Смежные вопросы