Función date_part

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

Extrae una parte de la fecha, marca de tiempo o intervalo.

Sintaxis

date_part(fieldStr, expr)

Argumentos

  • fieldStr: Un STRING literal.
  • expr: Una expresión DATE, TIMESTAMP o INTERVAL.

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