DateTime64
Позволяет хранить момент времени, который может быть выражен как календарная дата и время суток с определенной подсекундной точностью.
Размер тика (точность): 10-точность секунд. Допустимый диапазон: [ 0 : 9 ]. Обычно используются - 3 (миллисекунды), 6 (микросекунды), 9 (наносекунды).
Синтаксис:
Внутренне данные хранятся как число 'тиков' с начала эпохи (1970-01-01 00:00:00 UTC) в формате Int64. Разрешение тика определяется параметром точности. Кроме того, тип DateTime64 может хранить часовой пояс, который одинаков для всей колонки, что влияет на отображение значений типа DateTime64 в текстовом формате и на разбор значений, указанных в виде строк ('2020-01-01 05:00:01.000'). Часовой пояс не хранится в строках таблицы (или в результирующем наборе), но хранится в метаданных колонки. См. детали в DateTime.
Поддерживаемый диапазон значений: [1900-01-01 00:00:00, 2299-12-31 23:59:59.99999999]
Примечание: Точность максимального значения равняется 8. Если используется максимальная точность 9 цифр (наносекунды), максимальное поддерживаемое значение - 2262-04-11 23:47:16 в UTC.
Примеры
- Создание таблицы с колонкой типа
DateTime64и вставка данных в нее:
- При вставке datetime в качестве целого числа он рассматривается как соответствующим образом масштабированный Unix Timestamp (UTC).
1546300800000(с точностью 3) представляет собой'2019-01-01 00:00:00'UTC. Однако так как колонкаtimestampимеет указанный часовой поясAsia/Istanbul(UTC+3), при выводе в строковом формате значение будет отображаться как'2019-01-01 03:00:00'. Вставка datetime в качестве десятичного числа будет обрабатываться аналогично целому числу, за исключением того, что значение до десятичной точки является Unix Timestamp до и включая секунды, а значение после десятичной точки считается точностью. - При вставке строкового значения в качестве datetime, оно обрабатывается как находящееся в часовом поясе колонки.
'2019-01-01 00:00:00'будет рассматриваться как находящееся в часовом поясеAsia/Istanbulи сохранится как1546290000000.
- Фильтрация по значениям
DateTime64
В отличие от DateTime, значения DateTime64 не конвертируются автоматически из String.
В отличие от вставки, функция toDateTime64 будет обрабатывать все значения как десятичные, поэтому точность должна быть указана после десятичной точки.
- Получение часового пояса для значения типа
DateTime64:
- Конверсия часового пояса
См. также
- Функции преобразования типов
- Функции для работы с датами и временем
- Параметр настройки
date_time_input_format - Параметр настройки
date_time_output_format - Параметр конфигурации сервера
timezone - Параметр настройки
session_timezone - Операторы для работы с датами и временем
Dateтип данныхDateTimeтип данных