Когда я пишу сценарии SQL, чтобы найти диапазон дат с использованием поля DateTime, например между «01/01/2018» и «07/31/2018», я всегда делаю что-то вроде этого:
start_date >='2018-01-01' and end_date < '2018-08-01'
Я делаю это для того, чтобы захватить все записи 31/31/2018 из-за отметки времени из типа данных DateTime.
Я работаю в новом месте, где используется PostGresql, и я заметил, что они сначала приводят все поля DateTime:
'2018-07-31'::date end_date
Затем они записывают все свои диапазоны дат следующим образом:
start_date >='2018-01-01' and end_date <='2018-07-31'
Приводит ли поле DateTime к Date точный результат таким образом?
У меня проблемы с тестированием, потому что все здесь работает так медленно, и я только сейчас изучаю, как работает система.