Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex DataLens
    • Обзор
    • Синтаксис формул
      • Все функции
        • Обзор
        • DATEADD
        • DATEPART
        • DATETRUNC
        • DAY
        • DAYOFWEEK
        • HOUR
        • MINUTE
        • MONTH
        • NOW
        • QUARTER
        • SECOND
        • TODAY
        • WEEK
        • YEAR
      • Поддержка функций
    • Параметры
  • Аудитные логи Audit Trails
  1. Вычисляемые поля
  2. Справочник функций
  3. Функции даты и времени
  4. DATETRUNC

DATETRUNC

Статья создана
Yandex Cloud
Улучшена
amatol
Обновлена 6 ноября 2024 г.

СинтаксисСинтаксис

DATETRUNC( datetime, unit [ , number ] )

ОписаниеОписание

Возвращает дату, округленную по аргументу unit.

Если задан аргумент number, то происходит округление до этого количества временных единиц. Отсутствие аргумента эквивалентно значению 1.

Поддерживаемые значения unit:

  • "second";
  • "minute";
  • "hour";
  • "day" (при заданном number используется номер дня в году);
  • "week";
  • "month";
  • "quarter";
  • "year".

При использовании функции с тремя аргументами, она обрабатывается на стороне ClickHouse® функцией toStartOfInterval. Округление выполняется относительно определенного момента времени в соответствии с приведенной в описании функции таблицей. Например:

DATETRUNC(#2018-07-12 11:07:13#, "month", 4) = #2018-05-01 00:00:00#

Для аргумента unit со значением month округление считается от даты 1900-01-01. Между датами 2018-07-12 и 1900-01-01 прошло 1422 месяца. Если округлить это число до ближайшего числа, которое делится на 4 (аргумент number), то получится 1420 месяцев. Таким образом, если к дате 1900-01-01 прибавить 1420 месяцев, то получится значение 2018-05-01.

Типы аргументов:

  • datetime — Дата | Дата и время
  • unit — Строка
  • number — Целое число

Возвращаемый тип: Совпадает с типом аргументов (datetime)

Примечание

Значения аргументов (unit, number) должны быть константами.

Примечание

Функция с тремя аргументами доступна только для источников ClickHouse версии 21.8 и выше.

ПримерыПримеры

DATETRUNC(#2018-07-12 11:07:13#, "minute") = #2018-07-12 11:07:00#
DATETRUNC(#2018-07-12#, "year", 5) = #2015-01-01#
DATETRUNC(#2018-07-12 11:07:13#, "second", 5) = #2018-07-12 11:07:10#

Поддержка источников данныхПоддержка источников данных

ClickHouse 21.8, Файлы, Google Sheets, Microsoft SQL Server 2017 (14.0), MySQL 5.7, Oracle Database 12c (12.1), PostgreSQL 9.3, Яндекс Документы, YDB.

Была ли статья полезна?

Предыдущая
DATEPART
Следующая
DAY
Проект Яндекса
© 2025 ООО «Яндекс.Облако»