EXTRACT_HOUR
📄字数 637
👁️阅读量 加载中...
功能描述
从 expr
中提取小时部分。
语法格式
sql
EXTRACT_HOUR(expr)
输入参数
expr
:要提取的时间日期类型表达式,支持的数据类型包括DATETIME
、DATETIME WITH TIME ZONE
、TIME
、TIME WITH TIME ZONE
、INTERVAL DAY TO HOUR
、INTERVAL DAY TO MINUTE
、INTERVAL DAY TO SECOND
、INTERVAL HOUR
、INTERVAL HOUR TO MINUTE
和INTERVAL HOUR TO SECOND
。
提示
- 因
NULL
无具体的类型,所以当参数为NULL
时,会产生异常E10100 候选函数出现多义性
,需要手动为参数指定具体的类型,如:EXTRACT_HOUR(NULL::DATETIME)
; - 以字符串形式传入日期时间值时,服务端优先匹配
DATETIME
类型,所以参数解析时,按默认的时间格式解析,当参数不符合时间格式时(格式以参数 time_format 配置为准),执行报错:E19138 时间值常数错误
,需要手动指定参数具体的类型,如:EXTRACT_HOUR('14:25:37'::TIME)
或EXTRACT_HOUR(CAST('3 14' AS INTERVAL DAY TO HOUR))
。
输出结果
INTEGER
类型,提取出的小时部分,返回值范围 [0,23]
,输入参数为 NULL
时,输出结果为 NULL
。
示例
sql
-- 提取'2025-07-03 14:25:37'的小时部分
SQL> SELECT EXTRACT_HOUR('2025-07-03 14:25:37') FROM dual;
+-------+
| EXPR1 |
+-------+
| 14 |
+-------+