Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


EXTRACT

📄字数 685
👁️阅读量 加载中...

功能描述

expr 中提取指定时间内容。

语法格式

sql
EXTRACT(unit FROM expr)

输入参数

  • unit:要提取的指定时间类型关键字,可选值包括 YEARMONTHDAYHOURMINUTESECEND
  • expr:时间日期类型表达式。

提示

  • NULL 无具体的类型,所以当参数 exprNULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:EXTRACT(YEAR FROM NULL::DATE)

输出结果

  • 提取出的指定时间内容,输入参数 unit 的值为 SECEND 时返回值类型为 DOUBLE,其余值(YEARMONTHDAYHOURMINUTE)的返回值类型均为 INTEGER
  • 输入参数 exprNULL 时,输出结果为 NULL
  • 返回值范围:
    • unitYEAR 时返回值范围为 [1,9999]
    • unitMONTH 时返回值范围为 [1,12]
    • unitDAY 时返回值范围为 [1,31]
    • unitHOUR 时返回值范围为 [0,24]
    • unitMINUTE 时返回值范围为 [0,59]
    • unitSECOND 时返回值范围为 [0,59.999999]

提示

  • TIME 类型精确到毫秒,所以当输入参数 unit 的值为 SECENDexprTIMETIME WITH TIME ZONE类型时,返回值只精确到毫秒。

示例

sql
-- 提取时间常量的HOUR内容
SQL> SELECT EXTRACT(HOUR FROM '2025-05-05 15:08:50') FROM DUAL;

+-------+
| EXPR1 |
+-------+
| 15    |
+-------+

-- 提取时间常量的MONTH内容
SQL> SELECT EXTRACT(MONTH FROM '2025-06-19') FROM DUAL;

+-------+
| EXPR1 |
+-------+
| 6     |
+-------+