VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

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)