YEAR
功能描述
YEAR函数返回给定日期的年份。
注意事项
该功能仅在数据库兼容模式为SQL Server时支持(即数据库实例初始化时指定DBCOMPATIBILITY='MSSQL')。
不支持raw类型参数。
该函数支持的Vastbase版本:
V2.2 Build 15 (Patch No.2)及以后补丁版本。
V2.2 Build 16及以后版本。
关于函数的输入输出:
如果输入的参数不包含年份,返回值为1900,即基准年。
如果输入参数为NULL,函数返回空值NULL。
不支持输入带有BC(公元前)或AD(公元后)的表达式。
语法格式
YEAR ( date )
参数说明
date
输入的日期时间表达式,它可以解析为date、time、datetime、timestamp、smalldatetime或datetime2值。date参数可以是表达式、列表达式、用户定义变量或字符串文字。
返回值
INT类型,1~9999 之间的整数。
示例
示例1: 输入datetime类型并返回年份。
select year(datetime'2024-12-31 23:59:59');
返回结果如下:
year
------
2024
(1 row)
示例2: 输入当前日期时间(假设当前为2024年)并返回年份。
select year(now);
结果返回如下:
year
------
2024
(1 row)
示例3: 输入time类型(无年月日)返回基准年。
select year(time'2024-12-31 23:59:59');
结果返回如下:
year
------
1900
(1 row)
示例4: 输入日期的字符串文本,返回年份。
select year('2024-01-01');
返回结果为:
year
------
2024
(1 row)
示例5: 输入用户自定义变量,返回变量包含的年份。
1、设置参数enable_set_variable_mssql_format的值为on,表示允许在SQL Server兼容模式下设置用户自定义变量。
set enable_set_variable_mssql_format=on;
2、声明timestamp类型的变量@t
并赋值。
declare @t timestamp ='2024-01-12 12:23:12';
3、调用year函数,返回变量@t
的年份。
select year(@t);
返回结果如下:
year
------
2024
(1 row)