DateTime64 может хранить часовой пояс, общий для всего столбца, что влияет на то, как значения типа DateTime64 отображаются в текстовом формате, и на то, как разбираются значения, заданные в виде строк (‘2020-01-01 05:00:01.000’). Часовой пояс не хранится в строках таблицы (или в наборе результатов), а хранится в метаданных столбца. Подробности см. в DateTime.
Поддерживаемый диапазон значений: [1900-01-01 00:00:00, 2299-12-31 23:59:59.999999999]
Количество цифр после десятичной точки зависит от параметра precision.
Примечание: точность максимального значения равна 8. Если используется максимальная точность в 9 цифр (наносекунды), то максимальное поддерживаемое значение в UTC — 2262-04-11 23:47:16.
Примеры
- Создание таблицы со столбцом типа
DateTime64и вставка в неё данных:
- При вставке datetime в виде целого числа оно интерпретируется как Unix-временная метка (UTC) с соответствующей точностью.
1546300800000(с precision 3) соответствует'2019-01-01 00:00:00'UTC. Однако, поскольку для столбцаtimestampуказан часовой поясAsia/Istanbul(UTC+3), при выводе в виде строки значение будет показано как'2019-01-01 03:00:00'. При вставке datetime в виде десятичного числа оно обрабатывается аналогично целому числу, за исключением того, что значение до decimal point — это Unix-временная метка вплоть до секунд включительно, а значение после decimal point интерпретируется как precision. - При вставке строкового значения в datetime оно интерпретируется в часовом поясе столбца.
'2019-01-01 00:00:00'будет интерпретироваться как значение в часовом поясеAsia/Istanbulи сохранено как1546290000000.
- Фильтрация значений
DateTime64
DateTime, значения DateTime64 автоматически не преобразуются из String.
toDateTime64 будет рассматривать все значения как десятичные, поэтому точность нужно
указывать как число знаков после десятичной точки.
- Получение часового пояса для значения типа
DateTime64:
- Преобразование часового пояса