Последнее обновление
SECOND
Описание
Функция SECOND извлекает секунды из указанного значения даты и времени, возвращая целое число от 0 до 59. Эта функция поддерживает обработку типов DATE, DATETIME и TIME.
Эта функция соответствует функции second в MySQL.
Синтаксис
SECOND(<date_or_time_expr>)
Параметры
| Параметр | Описание |
|---|---|
<date_or_time_expr> | Входное значение даты и времени. Может иметь тип DATE, DATETIME или TIME. Подробнее о форматах даты и времени, даты и времени суток см. в разделах преобразование даты и времени, преобразование даты и преобразование времени. |
Возвращаемое значение
Возвращает значение типа INT, представляющее секунды входного значения даты и времени:
- Диапазон: от 0 до 59 (включительно)
- Если входное значение имеет тип DATE, возвращает 0 (поскольку время по умолчанию — 00:00:00)
- Если входное значение равно NULL, возвращает NULL
- Микросекунды игнорируются (например, из 12:34:56.789 извлекается только 56 секунд)
Примеры
-- Extract seconds from DATETIME
SELECT SECOND('2018-12-31 23:59:59') AS result;
+--------+
| result |
+--------+
| 59 |
+--------+
-- Input is TIME type
SELECT SECOND(cast('15:42:33' as time)) AS result;
+--------+
| result |
+--------+
| 33 |
+--------+
-- Input is DATE type (default seconds is 0)
SELECT SECOND('2023-07-13') AS result;
+--------+
| result |
+--------+
| 0 |
+--------+
-- Time with microseconds (ignores microseconds)
SELECT SECOND('2023-07-13 10:30:25.123456') AS result;
+--------+
| result |
+--------+
| 25 |
+--------+
-- Case where seconds is 0
SELECT SECOND('2024-01-01 00:00:00') AS result;
+--------+
| result |
+--------+
| 0 |
+--------+
-- When a string literal is valid for both datetime and time, prefer parsing it as time
SELECT SECOND("22:12:12");
+--------------------+
| SECOND("22:12:12") |
+--------------------+
| 12 |
+--------------------+
-- Input is NULL (returns NULL)
SELECT SECOND(NULL) AS result;
+--------+
| result |
+--------+
| NULL |
+--------+