Как я могу установить интервал между двумя столбцами с датой и временем в PostgreSQL? - PullRequest
0 голосов
/ 26 января 2020

Я хочу установить дневной или часовой интервал между двумя столбцами, чтобы получить последние записи. Если я не установил этот параметр, я получаю устаревшую информацию при фильтрации по дням.

TableA: create_date TableB: last_access_date

ТАК Я сделал это

SELECT  *
FROM acc_zone_person
WHERE create_time::date = last_access_time::date 

Я получаю ежедневную информацию без устаревшей информации, но в полночь вся информация с 23:00 до 00:00 игнорируется. Я хочу указать интервал, чтобы моя вечерняя информация из 19:00 будет присутствовать до 06:00 данных.

Я использовал

SELECT  *
FROM acc_zone_person
WHERE last_access_time::date >= now() - interval '12 hours'

на этот раз, когда я переключаюсь на более старые даты, я не получаю никаких данных, только данные в течение 12 часов

, поэтому мне нужно найти способ сделайте что-то вроде этого

SELECT  *
FROM acc_zone_person
WHERE create_date::date >= last_access_time - interval '12 hours'

Это должно принять create_date как СЕЙЧАС и получить 12-часовой интервал данных last_access_time

Ответы [ 2 ]

0 голосов
/ 26 января 2020

Согласно вашему собственному утверждению: «Это должно принимать create_date как NOW ...»

SELECT  *
FROM acc_zone_person
WHERE now()::date >= last_access_time - interval '12 hours'
0 голосов
/ 26 января 2020

Я немного запутался здесь. Почему вы не можете просто использовать последний опубликованный вами запрос? Это не работает? Вам просто нужно конвертировать last_update_time в дату?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...