Función date_part
Se aplica a: Databricks SQL Databricks Runtime
Extrae una parte de la fecha, marca de tiempo o intervalo.
Sintaxis
date_part(fieldStr, expr)
Argumentos
fieldStr
: UnSTRING
literal.expr
: Una expresiónDATE
,TIMESTAMP
oINTERVAL
.
Devoluciones
Si fieldStr
es 'SECOND'
, devuelve DECIMAL(8, 6)
.
En todos los demás casos, un INTEGER
.
Valores admitidos de field
cuando source
es DATE
o TIMESTAMP
:
'YEAR'
,'Y'
,'YEARS'
,'YR'
,'YRS'
: el campo de año'YEAROFWEEK'
: el año de numeración de la semana ISO 8601 al que pertenece el datetime. Por ejemplo, el 2 de enero de 2005 forma parte de la semana 53 del año 2004, por lo que el resultado es 2004'QUARTER'
,'QTR'
: el trimestre (de 1 a 4) del año al que pertenece el datetime'MONTH'
,'MON'
,'MONS'
,'MONTHS'
: el campo mes (1 - 12)'WEEK'
,'W'
,'WEEKS'
: el número de la semana ISO 8601 del año basado en semanas. Se considera que la semana comienza el lunes y la semana 1 es la primera semana con >3 días. En el sistema de numeración de semanas ISO, es posible que las fechas de principios de enero formen parte de la semana 52 o 53 del año anterior y que las fechas de finales de diciembre formen parte de la primera semana del año siguiente. Por ejemplo, el 2 de enero de 2005 forma parte de la semana 53 del año 2004, mientras que el 31 de diciembre de 2012 forma parte de la primera semana de 2013'DAY'
,'D'
,'DAYS'
: el día del campo mes (1 a 31)'DAYOFWEEK'
,'DOW'
: el día de la semana para datetime de domingo (1) a sábado (7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: día de la semana basado en ISO 8601 para datetime de lunes (1) a domingo (7)'DOY'
: el día del año (1 - 365/366)'HOUR'
,'H'
,'HOURS'
,'HR'
,'HRS'
: el campo de hora (0 a 23)'MINUTE'
,'M'
,'MIN'
,'MINS'
,'MINUTES'
: el campo de minutos (0 - 59)'SECOND'
,'S'
,'SEC'
,'SECONDS'
,'SECS'
: el campo de segundos, incluidas las partes decimales
Valores admitidos de field
cuando source
es INTERVAL
(sin distinción entre mayúsculas y minúsculas):
'YEAR'
,'Y'
,'YEARS'
,'YR'
,'YRS'
: el total de meses/12'MONTH'
,'MON'
,'MONS'
,'MONTHS'
: el total de meses % 12'DAY'
,'D'
,'DAYS'
: la parte del intervalo que corresponde a los días'HOUR'
,'H'
,'HOURS'
,'HR'
,'HRS'
: cuántas horas contiene el microsegundo'MINUTE'
,'M'
,'MIN'
,'MINS'
,'MINUTES'
: cuántos minutos quedan después de extraer las horas de los microsegundos'SECOND'
,'S'
,'SEC'
,'SECONDS'
,'SECS'
: cuántos segundos con decimales quedan después de extraer las horas y los minutos de los microsegundos
La función date_part
es un sinónimo de la función de extracción estándar de SQL.
Por ejemplo, date_part('year', CURRENT_DATE)
es equivalente a extract(YEAR FROM CURRENT_DATE)
Ejemplos
> SELECT date_part('YEAR', TIMESTAMP'2019-08-12 01:00:00.123456');
2019
> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT date_part('day', DATE'2019-08-12');
224
> SELECT date_part('SECONDS', TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000