#sql #oracle #postgresql #date #datetime
#sql #Oracle #postgresql #Дата #дата и время
Вопрос:
может ли кто-нибудь преобразовать это выражение oracle trunc(add_months(sysdate,3),'Q')-1)
в postgresql?
Комментарии:
Ответ №1:
В основном это выражение дает вам последний день текущего квартала (при условии, что вы удалите последнюю закрывающую скобку, что в противном случае является синтаксической ошибкой).
В postgres вы могли бы сформулировать это как:
date_trunc('quarter', current_date) interval '3 months' - interval '1 day'
Это генерирует timestamp
значение, которое вы можете привести, если хотите date
(это различие не существует в Oracle, где a date
также хранит компонент времени).
Ответ №2:
Эквивалент Postgres вашего вычисления Oracle можно увидеть ниже.
select date_trunc('quarter', current_date interval '3 month') - interval '1 day'