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

TIMESTAMP

Описание​

Функция TIMESTAMP преобразует строку с датой и временем в DATETIME. Для входного значения TIMESTAMP_NS она возвращает TIMESTAMP_NS, сохраняя наносекундную точность. Если указан второй параметр со временем, функция прибавляет его значение к первому параметру и сохраняет соответствующий тип даты и времени первого параметра.

Подробные сведения о форматах даты и времени см. в разделе Преобразование даты и времени.

Эта функция работает так же, как функция timestamp в MySQL.

Синтаксис​

TIMESTAMP(<date_or_datetime_string>[, <time_string>])

Параметры​

ПараметрОписание
date_or_datetime_stringСтрока с датой или датой и временем либо выражение DATETIME или TIMESTAMP_NS.
time_stringСтрока, задающая время

Возвращаемое значение​

Для входного значения TIMESTAMP_NS возвращается TIMESTAMP_NS с фиксированной точностью дробной части секунды до девяти знаков. Результаты проверяются на соответствие диапазону возвращаемого типа; для TIMESTAMP_NS используется диапазон [1677-09-21 00:12:43.145224192, 2262-04-11 23:47:16.854775807].

Возвращает DATETIME для входных значений даты, даты и времени и строк, а также TIMESTAMP_NS для входного значения TIMESTAMP_NS.

Если передан один параметр, возвращает первый параметр с соответствующим типом даты и времени. Если переданы два параметра, возвращает их сумму.

  • Если первый параметр является строкой с датой, время устанавливается в 00:00:00
  • Если любой из параметров равен NULL или тип параметра не соответствует ожидаемому, возвращает NULL

Примеры​

-- Convert a string to DATETIME
SELECT TIMESTAMP('2019-01-01 12:00:00');

+------------------------------------+
| timestamp('2019-01-01 12:00:00') |
+------------------------------------+
| 2019-01-01 12:00:00 |
+------------------------------------+

-- Input date string
SELECT TIMESTAMP('2019-01-01');
+-------------------------+
| TIMESTAMP('2019-01-01') |
+-------------------------+
| 2019-01-01 00:00:00 |
+-------------------------+

-- Input NULL, returns NULL
SELECT TIMESTAMP(NULL);
+-----------------+
| TIMESTAMP(NULL) |
+-----------------+
| NULL |
+-----------------+

-- Two parameters, returns the sum of the two parameters (Date/DateTime + Time)
SELECT TIMESTAMP('2025-11-30 23:45:12', '12:34:56');
+----------------------------------------------+
| TIMESTAMP('2025-11-30 23:45:12', '12:34:56') |
+----------------------------------------------+
| 2025-12-01 12:20:08 |
+----------------------------------------------+

-- The first parameter only accepts Date/Datetime type, the second parameter only accepts Time type
SELECT TIMESTAMP('12:34:56', '12:34:56');
+-----------------------------------+
| TIMESTAMP('12:34:56', '12:34:56') |
+-----------------------------------+
| NULL |
+-----------------------------------+

-- If any parameter is NULL, returns NULL
SELECT TIMESTAMP('2025-12-01', NULL);
+-------------------------------+
| TIMESTAMP('2025-12-01', NULL) |
+-------------------------------+
| NULL |
+-------------------------------+