MONTH scalar function
The MONTH function returns the month part of a value.
The schema is SYSIBM.
The argument must be an expression that returns one of the following built-in data types: a date, a timestamp, a character string, a graphic string, or a numeric data type.
- 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 with an actual length of not greater than 255 bytes. For the valid formats of string representations of dates and timestamps, see String representations of datetime values.
- If expression is a number, it must be a date or timestamp duration. For the valid formats of date and timestamp durations, see Datetime operands.
If expression is a timestamp with a time zone, or a valid string representation of a timestamp with a time zone, the result is determined from the UTC representation of the datetime value.
The result of the function is a large integer.
The result can be null; if the argument is null, the result is the null value.
The other rules depend on the data type of the argument:
- If the argument is a date, timestamp, or string representation of either, the result is the month part of the value, which is an integer in the range 1–12.
- If the argument is a date duration or timestamp duration, the result is the month part of the value, which is an integer between -99 and 99. A nonzero result has the same sign as the argument.
- If the argument contains a time zone, the result is the month part of the value expressed in UTC.
SELECT * FROM DSN8C10.EMP
WHERE MONTH(BIRTHDATE) = 5;
SELECT MONTH('2003-01-02-20.10.05.123456'),
MONTH('2003-01-02-12.10.05.123456-08:00'),
MONTH('2003-01-03-05.10.05.123456+09:00')
FROM SYSIBM.SYSDUMMY1;
For each invocation of the MONTH
function in this SELECT statement, the result is 1.When the input argument contains a time zone, the result is determined from the UTC representation of the input value. The string representations of a timestamp with a time zone in the SELECT statement all have the same UTC representation: 2003-01-02-20.10.05.123456. The month portion of the UTC representation is 1.