How to get last day of a month from a given date?

前端 未结 7 1363
长情又很酷
长情又很酷 2021-02-12 14:18

For example, the given date is 04/04/1924 and I want to find out the last day of February of the year 1924.

I came up with the add_month but it

7条回答
  •  粉色の甜心
    2021-02-12 15:09

    This will show you the last day of month

    SELECT  Max(LAST_DAY(ADD_MONTHS(SYSDATE, -2)) + level)
    FROM    dual
    CONNECT BY
        level <= LAST_DAY(ADD_MONTHS(SYSDATE, -1)) - LAST_DAY(ADD_MONTHS(SYSDATE, -2))
    

    you can replace system date what ever date you want with to_date('04/04/1924','MM-DD-YYYY')

    SELECT  Max(LAST_DAY(ADD_MONTHS(to_date('04/04/1924','MM-DD-YYYY'), -2)) + level)
    FROM    dual
    CONNECT BY
        level <= LAST_DAY(ADD_MONTHS(to_date('04/04/1924','MM-DD-YYYY'), -1)) - LAST_DAY(ADD_MONTHS(to_date('04/04/1924','MM-DD-YYYY'), -2))
    

    or simply

    select LAST_DAY(ADD_MONTHS(to_date('04/04/1924','MM-DD-YYYY'), -2)) from dual;
    

提交回复
热议问题