如何计算Postgres的月底?

时间:2015-07-15 03:30:42

标签: postgresql

如何计算Postgres的月底?我有表日期数据类型的表。我想计算每个日期的月末。对于Eg。在表格中有类似" 2015-07-10 17:52:51"," 2015-05-30 11:30:19"那么月底应该是2015年7月31日,2015年5月31日。 请指导我。

3 个答案:

答案 0 :(得分:8)

如何截断到本月初,向前跳一个月,然后回到一天?

=#  select (date_trunc('month', now()) + interval '1 month - 1 day')::date;
date
------------
 2015-07-31
(1 row)

now()更改为您的日期变量,该变量必须是每个the docs的时间戳。然后,您可以将此输出(使用strftime等)操作为您需要的任何格式。

Source

答案 1 :(得分:0)

  SELECT TO_CHAR(
    DATE_TRUNC('month', CURRENT_DATE)  
      + INTERVAL '1 month'            
      - INTERVAL '1 day',              
    'YYYY-MM-DD HH-MM-SS'              
  ) endOfTheMonth

答案 2 :(得分:0)

您好我尝试了这个并且有效

Date(to_char(date_trunc('month'::text, msm013.msa011) + '1 mon - 1 day '::interval , 'DD-MON-YYYY') ) 

非常感谢!!