VastbaseG100

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

Menu

YEAR

功能描述

YEAR函数用于获取给定时间的年。

注意事项

  • 该功能仅在数据库兼容模式为MySQL时支持(即数据库初始化时指定DBCOMPATIBILITY='B')。
  • 若函数的参数是time类型时,由于time类型不包含年月日,按照MySQL的处理,返回当前的年份。
  • 输入null时,返回值为空。
  • 输入的时间格式非法时,报错信息为时间格式语法异常。
  • 数据的时间超范围时,报错信息为输入的时间范围异常。
  • 具备该函数的访问权限,例如Year(time)函数如果位于pg_catalog模式下,用户需要具备以下权限:
    • pg_catalog模式的usage权限。
    • year(time)函数的execute权限。

语法格式

YEAR(time)

参数说明

time支持的数据类型如下:

  • date
  • datetime
  • timestamp
  • timestamptz
  • time
  • timetz
  • timestamp类型的字符串
  • timestamptz类型的字符串
  • date类型的字符串
  • datetime类型的字符串

示例

示例1:查询当前年份,假设当前为2022年。

select year(now);

结果返回如下:

 year 
------
 2022
(1 row)

示例2:查询date类型年份。

1、直接调用。

select year(date '2022-1-23') as result;

结果返回如下:

 result
--------
   2022
(1 row)

2、创建测试表并插入测试数据。

create table test(info date);
insert into test values ('2022-1-1');

3、结合表调用year函数。

select info,year(info) from test;

结果返回如下:

        info         | year
---------------------+------
 2022-01-01 00:00:00 | 2022
(1 row)

示例3:查询date类型的字符串年份。

1、直接调用year函数。

select year('2012-1-5') as result;

结果返回如下:

 result
--------
   2012
(1 row)

2、创建测试表并插入数据。

create table test1(info text);
insert into test1 values ('2021-11-1');

3、结合表调用year函数。

select info,year(info) from test1;

结果返回如下:

   info    | year
-----------+------
 2021-11-1 | 2021
(1 row)