Compartir a través de


Función extract

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

Devuelve field de source.

Sintaxis

extract(field FROM source)

Argumentos

  • field: palabra clave que selecciona qué parte de source debe extraerse.
  • source: Una expresión DATE, TIMESTAMP o INTERVAL.

Devoluciones

Si field 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

Ejemplos

> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
 2019

> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT extract(DAY FROM DATE'2019-08-12');
 12

> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
 1.000001

> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000