Поделиться через


Функция date_trunc

Область применения: флажок Databricks SQL флажок Databricks Runtime

Возвращает метку времени, усеченную до единицы измерения, указанной в параметре unit.

Синтаксис

date_trunc(unit, expr)

Аргументы

  • unit: литерал STRING .
  • expr: A DATE, 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