EXTRACT_HOUR
📄字数 652
👁️阅读量 加载中...
功能描述
从 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 类型,提取出的小时部分,返回值范围 [-999999999, 999999999],输入参数为 NULL 时,输出结果为 NULL。
示例
sql
-- 提取'2025-07-03 14:25:37'的小时部分
SQL> SELECT EXTRACT_HOUR('2025-07-03 14:25:37') FROM dual;
+-------+
| EXPR1 |
+-------+
| 14 |
+-------+