Функция date_trunc
Область применения: Databricks SQL Databricks Runtime
Возвращает метку времени, усеченную до единицы измерения, указанной в параметре unit
.
Синтаксис
date_trunc(unit, expr)
Аргументы
unit
: литералSTRING
.expr
: ADATE
,TIMESTAMP
илиSTRING
с допустимым форматом метки времени.
Возвраты
TIMESTAMP
.
Примечания.
Допустимые единицы: unit
(без учета регистра):
'YEAR'
, ,'YYYY'
'YY'
: усечение до первой даты года, в которойexpr
падает, время часть будет нулевой'QUARTER'
: усечение до первой даты квартала, в которойexpr
падает, время части будет отсчитываться от нуля'MONTH'
, ,'MM'
'MON'
: усечение до первой даты месяца, в которойexpr
падает, время части будет отсчитываться от нуля'WEEK'
: усечение до понедельника недели, в которойexpr
падает, время часть будет нулевой'DAY'
,'DD'
: ноль времени части времени'HOUR'
: ноль за минуту и секунду с дробной частью'MINUTE'
: ноль второй с дробной частью'SECOND'
: ноль второй дробной части'MILLISECOND'
: ноль из микросекунда'MICROSECOND'
: все остается
unit
Если функция неправильно сформирована, функция возвращаетсяNULL
.
Примеры
> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');
2015-01-01 00:00:00
> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');
2015-03-01 00:00:00
> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');
2015-03-05 00:00:00
> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');
2015-03-05 09:00:00
> SELECT date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456');
2015-03-05 09:32:05.123
-- Not a recognised unit
> SELECT date_trunc('MS', '2015-03-05T09:32:05.123456');
NULL