Постгрес здесь; У меня есть таблица Users
со следующими полями:
create table Users (
id bigserial primary key,
isAdmin boolean not null default false,
beginDate timestamp with time zone not null,
updated timestamp with time zone
);
Я хочу написать запрос, который извлекает любые Users
записи, которые:
beginDate
за последние 24 часа (включительно); А ТАКЖЕupdated
, которое составляет старшая (исключительно), чем 24 часа.Моя лучшая попытка на данный момент:
select *
from
Users
where
beginDate >= NOW() - INTERVAL 1 DAY and
updated < NOW() - INTERVAL 1 DAY
Но это дает им следующую ошибку:
ERROR: syntax error at or near "1"
Position: 59
beginDate >= NOW() - INTERVAL 1 DAY and
^
1 statement failed.
Execution time: 0.03s
Любые идеи о том, что исправить?
Правильный синтаксис будет таким:
beginDate >= NOW() - INTERVAL '1 DAY' and
updated < NOW() - INTERVAL '1 DAY'
Дополнительную информацию можно найти здесь: https://www.postgresql.org/docs/current/functions-datetime.html
Все еще неправильно... Используйте прямые кавычки только для числа. Смотрите мой комментарий.
@ярлх . . . Это верно. Postgres принимает оба.
Ой, я вижу. Извини, @matias!
INTERVAL '1' DAY