Первый день текущего года
У меня есть следующий запрос в базе данных postgresql
SELECT *
FROM accounts
where insertdate BETWEEN '2012-01-01' AND CURRENT_TIMESTAMP
Итак, как я могу заменить '2012-01-01'
запрос на первый день текущего года
Есть еще одна проблема. Когда у меня есть новая запись в таблице учетных записей, в тот же момент выполняется вышеуказанный выбор, поэтому он не приносит мне запись, которую я только что сделал. Это разумно?
Каков наилучший способ обгонять его?
Ответы
Ответ 1
Вы ищете date_trunc()
, который может усекать дату до указанной точности (например, year
, month
, day
):
SELECT date_trunc('year', now());
В вашем запросе:
SELECT * FROM accounts where insertdate BETWEEN
date_trunc('year', now()) AND CURRENT_TIMESTAMP
Ответ 2
Вы можете попробовать использовать этот CURRENT_TIMESTAMP.YEAR-01-01