extract Funktion

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime

Returnerar field för source.

Syntax

extract(field FROM source)

Argument

  • field: Ett nyckelord som väljer vilken del av source som ska extraheras.
  • source: Ett DATE, TIMESTAMP, eller INTERVAL uttryck.

Returnerar

Om field är SECOND, en DECIMAL(8, 6). I alla andra fall, en INTEGER.

Värden som stöds för field när source är DATE eller TIMESTAMP:

  • YEAR, Y, YEARS, YR, YRS: Fältet år
  • YEAROFWEEK: DET ISO 8601 veckonumreringsår som datetime infaller. Till exempel är 2005-01-02 en del av den 53:e veckan år 2004, så resultatet är 2004
  • QUARTER, QTR: Det kvartal (1–4) under året som datetime infaller
  • MONTH, MON, MONS, MONTHS: Månadsfältet (1–12)
  • WEEK, W, WEEKS: Antalet ISO 8601 veckobaserade år. En vecka anses starta på en måndag och vecka 1 är den första veckan med >3 dagar. I ISO:s veckonumreringssystem är det möjligt att datum i början av januari ingår i den 52:a eller 53:e veckan föregående år och att datum i slutet av december ingår i den första veckan nästa år. Till exempel är 2005-01-02 en del av den 53:e veckan år 2004, medan 2012-12-31 ingår i den första veckan 2013
  • DAYDAYS, D: Fältet day of the month (1–31)
  • DAYOFWEEK, DOW: Veckodagen för datetime som söndag(1) till lördag(7)
  • DAYOFWEEK_ISO, DOW_ISO: ISO 8601-baserad veckodag för datetime som måndag(1) till söndag(7)
  • DOY: Dagen på året (1- 365/366)
  • HOUR, H, HOURS, HR, HRS: Timfältet (0–23)
  • MINUTE, M, MIN, MINS, MINUTES: Fältet minuter (0–59)
  • SECOND, S, SEC, SECONDS, SECS: Fältet sekunder, inklusive bråkdelar

Värden som stöds för field när source är INTERVAL är (skiftlägesokänsliga):

  • YEAR, Y, YEARS, YR, YRS: Totalt antal månader/12
  • MONTH, MON, MONS, MONTHS: De totala månaderna % 12
  • DAY, D, DAYS: Dagar som är en del av intervallet
  • HOUR, H, HOURS, HR, HRS: Hur många timmar mikrosekunderna innehåller
  • MINUTE, M, MIN, MINS, MINUTES: Hur många minuter kvar efter att ha tagit timmar från mikrosekunder
  • SECOND, S, SEC, SECONDS: SECSHur många sekunder med bråk kvar efter att ha tagit timmar och minuter från mikrosekunder

Exempel

> 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