跳到主要内容

SECOND

描述

SECOND 函数用于提取取指定日期时间值中的秒数部分,返回结果为 0 到 59 的整数。该函数支持处理 DATE、DATETIME、TIME 类型,

该函数与 mysql 中的 second 函数 行为一致

语法

SECOND(<date_or_time_expr>)

参数

参数说明
<date_or_time_expr>输入的日期时间值,类型可以是 DATE、DATETIME、或 TIME ,具体 datetime/date/time 请查看 datetime 的转换, date 的转换,time 的转换

返回值

返回类型为 INT,表示输入日期时间中的秒数部分:

  • 范围:0 到 59(包含边界值)
  • 若输入为 DATE 类型,返回 0(因默认时间为 00:00:00)
  • 若输入为 NULL,返回 NULL
  • 忽略微秒部分(如 12:34:56.789 仅提取 56 秒)

举例


--- 提取 DATETIME 中的秒数
SELECT SECOND('2018-12-31 23:59:59') AS result;
+--------+
| result |
+--------+
| 59 |
+--------+

--- 输入为 TIME 类型
SELECT SECOND(cast('15:42:33' as time)) AS result;
+--------+
| result |
+--------+
| 33 |
+--------+

--- 输入为 DATE 类型(默认秒数为 0)
SELECT SECOND('2023-07-13') AS result;
+--------+
| result |
+--------+
| 0 |
+--------+

--- 包含微秒的时间(忽略微秒)
SELECT SECOND('2023-07-13 10:30:25.123456') AS result;
+--------+
| result |
+--------+
| 25 |
+--------+

--- 秒数为 0 的情况
SELECT SECOND('2024-01-01 00:00:00') AS result;
+--------+
| result |
+--------+
| 0 |
+--------+

--- 输入为 NULL(返回 NULL)
SELECT SECOND(NULL) AS result;
+--------+
| result |
+--------+
| NULL |
+--------+