Delen via


extract-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Retourneert fieldsource.

Syntaxis

extract(field FROM source)

Argumenten

  • field: Een trefwoord dat selecteert welk deel moet source worden geĂ«xtraheerd.
  • source: A DATE, TIMESTAMPof INTERVAL expressie.

Retouren

Als field dat het is SECOND, een DECIMAL(8, 6). In alle andere gevallen, een INTEGER.

Ondersteund: values van field wanneer sourceDATE of TIMESTAMPis.

  • YEAR, , YYEARS, , YR, YRS: Het jaarveld
  • YEAROFWEEK: Het ISO 8601 weeknummeringsjaar waarin de datum/tijd valt. 2005-01-02 maakt bijvoorbeeld deel uit van de 53e week van het jaar 2004, dus het resultaat is 2004
  • QUARTER, : QTRHet kwartaal (1 - 4) van het jaar waarin de datum/tijd valt
  • MONTH, , MONMONS, MONTHS: Het maandveld (1 - 12)
  • WEEK, , W: WEEKSHet aantal ISO 8601 week-van-week-gebaseerd jaar. Een week wordt beschouwd als beginnen op maandag en week 1 is de eerste week met >3 dagen. In het ISO-weeknummeringssysteem is het mogelijk dat datums van begin januari deel uitmaken van de 52e of 53e week van het vorige jaar, en dat datums eind december deel uitmaken van de eerste week van het volgende jaar. 2005-01-02 maakt bijvoorbeeld deel uit van de 53e week van het jaar 2004, terwijl 2012-12-31 deel uitmaakt van de eerste week van 2013
  • DAY, , DDAYS: De dag van het maandveld (1 - 31)
  • DAYOFWEEK, DOW: De dag van de week voor datum/tijd als zondag(1) tot en met zaterdag(7)
  • DAYOFWEEK_ISO, : DOW_ISOISO 8601 gebaseerde dag van de week voor datum/tijd als maandag(1) tot zondag(7)
  • DOY: De dag van het jaar (1 - 365/366)
  • HOUR, H, HOURS, HRHRS: Het uurveld (0 - 23)
  • MINUTE, M, MIN, MINS: MINUTESHet veld minuten (0 - 59)
  • SECOND, S, SEC, , SECONDS, : SECSHet veld seconden, inclusief breukdelen

Ondersteunde values van field als sourceINTERVAL is (niet hoofdlettergevoelig):

  • YEAR, Y, YEARS, YRYRS: Het totale aantal maanden / 12
  • MONTH, , , MON: MONSMONTHSHet totale aantal maanden % 12
  • DAY, , D: DAYSHet dagengedeelte van het interval
  • HOUR, , HHOURS, HR, , HRS: Hoeveel uur de microseconden bevatten
  • MINUTE, M, MIN, , MINS, MINUTES: Hoeveel minuten er nog zijn na uren van microseconden
  • SECOND, S, SEC, , SECONDS, SECS: Hoeveel seconden met breuken na uren en minuten van microseconden

Als u de acroniem van drie letters voor de dag van de week wilt retourneren, gebruikt u de dagnaam functie.

Voorbeelden

> 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