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