我正在尝试将一个月添加到posgresql中的日期,同时将DAY设置为该月的最后一天。 怎么样?
示例
UPDATE temp
SET expiration_date = expiration_date + interval '1' month
WHERE name = 'xxx'
事情是,如果日期是2014-04-30,例如,它将增加一个月,日期将变为2014-05-30,而五月确实有31天。
我想要完成的例子
2014-04-30 + 1个月 - > 2014年5月31日
2014-05-31 + 1个月 - > 2014-06-30
需要一些提示。在postgres中有可能吗?我可以使用PHP来计算它,但我希望避免这种情况。
答案 0 :(得分:3)
如果我理解正确,您需要下个月的最后一天。这可以这样做:
SELECT date_trunc('mon','2014-04-30'::date+interval'2mon')-interval'1day',
date_trunc('mon','2014-05-31'::date+interval'2mon')-interval'1day';