Последнее обновление
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 |
+------+