Перейти к содержимому
Последнее обновление

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 |
+--------+