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