LAST_DAY

The LAST_DAY function returns a date or timestamp that represents the last day of the month indicated by expression.

Read syntax diagramSkip visual syntax diagram
>>-LAST_DAY--(--expression--)----------------------------------><

expression
An expression that returns a value of one of the following built-in data types: a date, a timestamp, a character string, or a graphic string.

If expression is a character or graphic string, it must not be a CLOB or DBCLOB, and its value must be a valid string representation of a date or timestamp. For the valid formats of string representations of dates and timestamps, see String representations of datetime values.

Start of changeThe result of the function is a timestamp if expression is a timestamp. Otherwise, the result of the function is a date. If the argument can be null, the result can be null; if the argument is null, the result is the null value.End of change

Example

  • Set the host variable END_OF_MONTH with the last day of the current month.
    SET :END_OF_MONTH = LAST_DAY(CURRENT_DATE)

    The host variable END_OF_MONTH is set with the value representing the end of the current month. If the current day is 2000-02-10, then END_OF_MONTH is set to 2000-02-29.

  • Set the host variable END_OF_MONTH with the last day of the month in EUR format for the given date.
    SET :END_OF_MONTH = CHAR(LAST_DAY('1965-07-07'), EUR)

    The host variable END_OF_MONTH is set with the value '31.07.1965'.

  • Assuming that the default date format is ISO,
    SELECT LAST_DAY('2000-04-24')
    FROM SYSIBM.SYSDUMMY1

    Returns '2000–04–30' which is the last day of April in 2000.