数据湖探索 DLI-时间函数:EXTRACT

时间:2024-08-15 10:29:30

EXTRACT

  • 功能描述

    提取时间点或时间间隔中指定某一时间单位的部分,以BIGINT类型返回。

  • 语法说明
    BIGINT EXTRACT(timeinteravlunit FROM temporal)
  • 入参说明

    参数名

    数据类型

    参数说明

    timeinteravlunit

    TIMEUNIT

    需要从时间点或时间间隔中提取的时间单位,取值可以是:YEAR/QUARTER/MONTH/WEEK/DAY/DOY/HOUR/MINUTE/SECOND。

    temporal

    DATE/TIME/TIMESTAMP/INTERVAL

    时间点或时间间隔。

    不允许指定不存在于时间点或时间间隔中的时间单位,否则作业会提交失败。

    例如如下错误语句,会报错YEAR不能从TIME中提取。

    SELECT 
    	EXTRACT(YEAR FROM TIME '12:44:31' ) AS `result`
    FROM
    	testtable;
  • 示例
    • 测试语句
      SELECT 
      	EXTRACT(YEAR FROM DATE '1997-04-25' ) AS `result`,
              EXTRACT(MINUTE FROM TIME '12:44:31') AS `result2`,
              EXTRACT(SECOND FROM TIMESTAMP '1997-04-25 13:14:15') AS `result3`,
              EXTRACT(YEAR FROM INTERVAL '2-10' YEAR TO MONTH) AS `result4`,
      FROM
      	testtable;
    • 测试结果

      result

      result2

      result3

      result4

      1997

      44

      15

      2

support.huaweicloud.com/sqlreference-dli/dli_08_0334.html