MONTH 标量函数 (scalar function)
MONTH函数用于返回数值中的月份部分。
该模式是 SYSIBM。
参数必须返回以下内置数据类型之一:日期、时间戳、字符串、图形字符串或数字数据类型。
- 如果表达式是一个字符串或图形字符串,则它不能是CLOB或DBCLOB,其值必须是一个日期或时间戳的有效字符串表示形式,实际长度不能超过255字节。 有关日期和时间戳的字符串表示形式的有效格式,请参阅日期时间值的字符串表示形式。
- 如果表达式是一个数字,则它必须是一个日期或时间戳持续时间。 日期和时间戳持续时间的有效格式,请参阅日期时间操作数。
如果表达式是带时区的时间戳,或者带时区的有效时间戳字符串表示形式,则结果由日期时间值的 UTC 表示形式确定。
函数的结果是一个大整数。
结果可以为空值;如果参数为空值,那么结果为空值。
其他规则取决于参数的数据类型:
- 如果参数是日期、时间戳或它们的字符串表示形式,则结果为该值的月份部分,即1-12之间的整数。
- 如果参数是日期持续时间或时间戳持续时间,则结果为该值的月份部分,即介于-99和99之间的整数。 非零结果与参数具有相同的符号。
如果参数包含时区 ,则结果为UTC时间下月份的部分。
示例1 :选择样本表DSN8C10.EMP 中所有出生于5月的员工行:
SELECT * FROM DSN8C10.EMP
WHERE MONTH(BIRTHDATE) = 5;示例2: 以下对MONTH函数的调用返回相同的结果:
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;对于SELECT语句中MONTH函数的每次调用,结果都是1。当输入参数包含时区时,结果由输入值的UTC表示法决定。 在SELECT语句中,带有时区的字符串时间戳的表示形式都具有相同的UTC表示形式: 2003-01-02-20.10.05.123456。 UTC表示法中的月份部分为1。
