GETHOUR
📄字数 629
👁️阅读量 加载中...
功能描述
从 expr 中提取小时部分,同 HOUR() 函数。
语法格式
sql
GETHOUR(expr)输入参数
expr:要提取的时间日期类型表达式,支持的数据类型包括DATETIME、DATETIME WITH TIME ZONE、TIME和TIME WITH TIME ZONE。
提示
- 因
NULL无具体的类型,所以当参数为NULL时,会产生异常E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:NULL::DATETIME; - 以字符串形式传入日期时间值时,服务端优先匹配
DATETIME类型,所以参数解析时,按默认的时间格式解析,当参数不符合时间格式时(格式以参数 time_format 配置为准),执行报错:E19138 时间值常数错误,需要手动指定参数具体的类型,如:GETHOUR('11:44:58.157'::TIME)或GETHOUR(CAST('11:44:58.157+8:00' AS TIME WITH TIME ZONE))。
输出结果
INTEGER 类型,提取出的小时部分,返回值范围 [0,23],输入参数为 NULL 时,输出结果为 NULL。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- 提取'2025-05-05 11:44:58.157'的小时部分
SQL> SELECT GETHOUR('11:44:58.157'::TIME) FROM dual;
+-------+
| EXPR1 |
+-------+
| 11 |
+-------+