Как рассчитать конец месяца в Postgres? У меня есть таблица с типом даты столбца. Я хочу рассчитать конец месяца каждой даты. Напр. В таблице есть такие значения, как «2015-07-10 17:52:51», «2015-05-30 11:30:19», тогда конец месяца должен быть как 31 июля 2015 года 31 мая 2015 года. меня в этом.Как рассчитать конец месяца в Postgres?
0
A
ответ
4
Как насчет усечения в начале этого месяца, прыгая вперед на один месяц, а затем обратно в один прекрасный день?
myapp_co_development=# SELECT (date_trunc('MONTH', now()) + INTERVAL '1 MONTH - 1 day')::DATE;
date
------------
2015-07-31
(1 row)
Изменить now()
на вашу переменную даты. Затем вы можете управлять этим выходом (с strftime
и т. Д.) В любом формате, который вам нужен.
3
SELECT TO_CHAR(
DATE_TRUNC('month', CURRENT_DATE)
+ INTERVAL '1 month'
- INTERVAL '1 day',
'YYYY-MM-DD HH-MM-SS'
) endOfTheMonth
0
Привет Я попытался, как это, и она работала
Date(to_char(date_trunc('month'::text, msm013.msa011) + '1 mon - 1 day '::interval , 'DD-MON-YYYY'))
большое спасибо !!
Хм, это неправильно ... Это первый из следующего месяца. Попробуйте выбрать (date_trunc ('month', '2015-06-01' :: date) :: date + interval '1 month - 1 day') :: date; – user464502
Спасибо, я отправил обновленный ответ. –