date_part Functie

Van toepassing op:gemarkeerd met ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime

Extraheert een deel van de datum, tijdstempel of interval.

Syntaxis

date_part(fieldStr, expr)

Argumenten

  • fieldStr: Een STRING letterlijke.
  • expr: Een DATE, TIMESTAMPof INTERVAL expressie.

Retourneert

Als fieldStr is 'SECOND', een DECIMAL(8, 6). In alle andere gevallen wordt een INTEGER.

Ondersteunde waarden van field wanneer source is DATE of TIMESTAMP:

  • 'YEAR', 'Y', 'YEARS', 'YR', : 'YRS'het veld Jaar
  • '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', 'QTR': Het kwartaal (1 - 4) van het jaar waarin de datum/tijd valt
  • 'MONTH', 'MON', 'MONS', 'MONTHS': Het maandveld (1 - 12)
  • 'WEEK', 'W', 'WEEKS': Het nummer van de ISO 8601 week-van-week-gebaseerd-jaar. Een week begint op een 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. Zo maakt 2005-01-02 deel uit van de 53e week van het jaar 2004, terwijl 31-12-2012 deel uitmaakt van de eerste week van 2013
  • 'DAY', 'D', 'DAYS': 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_ISO': ISO 8601 op basis van de 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', 'HR', : 'HRS'het uurveld (0 - 23)
  • 'MINUTE', 'M', 'MIN', 'MINS', : 'MINUTES'het minutenveld (0 - 59)
  • 'SECOND', 'S', 'SEC', 'SECONDS', : 'SECS'het secondenveld, inclusief breuken

Ondersteunde waarden van field wanneer source zijn INTERVAL (niet hoofdlettergevoelig):

  • 'YEAR', 'Y', 'YEARS', 'YR', : 'YRS'Het totaal aantal maanden / 12
  • 'MONTH', 'MON', 'MONS', 'MONTHS': het totale aantal maanden % 12
  • 'DAY', 'D', 'DAYS': het dagengedeelte van het interval
  • 'HOUR', 'H', 'HOURS', 'HR', : 'HRS'hoeveel uur de microseconden bevat
  • 'MINUTE', 'M', 'MIN', 'MINS', : 'MINUTES'hoeveel minuten er nog over zijn na uren van microseconden
  • 'SECOND', 'S', 'SEC', 'SECONDS', : 'SECS'hoeveel seconden met breuken nog over zijn na uren en minuten van microseconden

De date_part functie is een synoniem voor de sql-standaardextractfunctie.

Is bijvoorbeeld date_part('year', CURRENT_DATE) gelijk aan extract(YEAR FROM CURRENT_DATE)

Voorbeelden

> 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