DATETRUNC
Синтаксис
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.