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

NANOSECOND

Описание​

Извлекает наносекундную часть значения типа DATE, DATETIME или TIMESTAMP_NS. Для DATE результат всегда равен 0. Для DATETIME(p) дробная часть секунды дополняется нулями справа до девяти цифр; для TIMESTAMP_NS возвращаются все девять цифр дробной части секунды.

Синтаксис​

NANOSECOND(<date>)
NANOSECOND(<datetime>)
NANOSECOND(<timestamp_ns>)

Параметры​

ПараметрОписание
<date>Значение типа DATE.
<datetime>Значение типа DATETIME(p), где p находится в диапазоне от 0 до 6.
<timestamp_ns>Значение типа TIMESTAMP_NS.

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

Возвращает значение типа INT в диапазоне [0, 999999999]. Для входного значения типа DATE возвращает 0. Для входного значения типа DATETIME(p) возвращает дробную часть секунды, выраженную в наносекундах и дополненную нулями справа до девяти цифр. Для входного значения типа TIMESTAMP_NS возвращает все девять цифр дробной части секунды. Возвращает NULL, если входное значение равно NULL.

Пример​

SELECT NANOSECOND(CAST('2024-02-29' AS DATE)) AS ns;
+----+
| ns |
+----+
| 0 |
+----+
SELECT NANOSECOND(CAST('2024-02-29 12:34:56.123456' AS DATETIME(6))) AS ns;
+-----------+
| ns |
+-----------+
| 123456000 |
+-----------+
SELECT NANOSECOND(CAST('2024-02-29 12:34:56.123456789' AS TIMESTAMP_NS)) AS ns;
+-----------+
| ns |
+-----------+
| 123456789 |
+-----------+
SELECT NANOSECOND(CAST(NULL AS TIMESTAMP_NS)) AS ns;
+------+
| ns |
+------+
| NULL |
+------+