Función date_trunc

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Devuelve la marca de tiempo truncada en la unidad especificada en unit.

Sintaxis

date_trunc(unit, expr)

Argumentos

  • unit: un literal STRING.
  • expr: A DATE, TIMESTAMP, o STRING con un formato de marca de tiempo válido.

Devoluciones

TIMESTAMP.

Notas

Las unidades válidas para unit son (no distingue mayúsculas de minúsculas):

  • 'YEAR', 'YYYY', 'YY': truncar hasta la primera fecha del año en que exprcaiga, la parte de la hora se pondrá a cero
  • 'QUARTER': truncar hasta la primera fecha del trimestre en el que exprcaiga, la parte de la hora se pondrá a cero
  • 'MONTH', 'MM', 'MON': truncar hasta la primera fecha del mes en el que exprcaiga, la parte de la hora se pondrá a cero
  • 'WEEK': truncar hasta el lunes de la semana en que caiga expr, la parte de la hora se pondrá a cero
  • 'DAY', 'DD': poner a cero la parte de la hora
  • 'HOUR': poner a cero el minuto y el segundo con la parte de la fracción
  • 'MINUTE': poner a cero el segundo con la parte de la fracción
  • 'SECOND': poner a cero en la segunda parte de la fracción
  • 'MILLISECOND': poner a cero en los microsegundos
  • 'MICROSECOND': todo permanece

Si unit no está bien formado, la función devuelve NULL.

Ejemplos

> 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