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