Función date_trunc
Se aplica a: Databricks SQL Databricks Runtime
Devuelve la marca de tiempo truncada en la unidad especificada en unit
.
Sintaxis
date_trunc(unit, expr)
Argumentos
unit
: un literalSTRING
.expr
: ADATE
,TIMESTAMP
, oSTRING
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 queexpr
caiga, la parte de la hora se pondrá a cero'QUARTER'
: truncar hasta la primera fecha del trimestre en el queexpr
caiga, la parte de la hora se pondrá a cero'MONTH'
,'MM'
,'MON'
: truncar hasta la primera fecha del mes en el queexpr
caiga, la parte de la hora se pondrá a cero'WEEK'
: truncar hasta el lunes de la semana en que caigaexpr
, 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