Выберите данные между часами - PullRequest
0 голосов
/ 08 октября 2018

Я использую postgresql, моя идея состоит в том, чтобы выбрать данные, созданные до 24 часов, которые я извлек, используя следующее

SELECT * FROM table
WHERE created < now() - '24 hours'::interval

В этом я попытался добавить условие, которое приводит данные междуоснование часа с использованием предложения BETWEEN, для этого мой запрос выглядит следующим образом:

SELECT * FROM table 
WHERE created < now() - '24 hours'::interval 
AND created BETWEEN {condition} AND {condition}

Мой созданный столбец находится в метке времени с часовым поясом, когда я пытался использовать

извлечение (час с момента создания)

в состоянии, я не получаю никаких результатов.Я не знаю, где я делаю неправильно.Есть ли другой способ добиться этого?

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 08 октября 2018

Если вы хотите проверить часовые диапазоны, которые произошли за последние 24 часа, используйте что-то вроде этого:

SELECT *
FROM yourTable 
WHERE created <  now() - '24 hours'::interval AND
    EXTRACT(hour from created) >= 10 AND EXTRACT(hour from created) < 11;

Это позволит найти все записи за последние 24 часа, чей час находится в диапазоне от 10 до11 часов утра. 1004

Демонстрация

...