Datetime-patronen

Van toepassing op:check marked yes Databricks SQL check marked yes Databricks Runtime

Er zijn verschillende veelvoorkomende scenario's voor datum/tijd-gebruik in Azure Databricks:

Patroontabel

Azure Databricks gebruikt patroonbrieven in de volgende tabel voor het parseren en opmaken van datum- en tijdstempels:

Symbool Betekenis Presentatie Voorbeelden
G Tijdperk sms verzenden AD; Anno Domini
Y jaar jaar 2020; 20
D dag van het jaar getal(3) 189
M/L maand van het jaar maand 7; 07; Jul; Juli
d dag van de maand getal(3) 28
Q/q kwartaal van het jaar getal/tekst 3; 03; Q3; 3e kwartaal
E dag van de week sms verzenden Di; Dinsdag
F uitgelijnde dag van de week in maand getal(1) 3
A am-pm-of-day am-pm PM
h clock-hour-of-am-pm (1-12) getal(2) 12
K uur-van-am-pm (0-11) getal(2) 0
K clock-hour-of-day (1-24) getal(2) 0
H uur van dag (0-23) getal(2) 0
m minuut van uur getal(2) 30
s seconde van minuut getal(2) 55
S breuk van seconde Fractie 978
V tijdzone-id zone-id Amerika/Los_Angeles; Z; -08:30
Z tijdzonenaam zonenaam Pacific Standard Time; PST
O gelokaliseerde zone-offset offset-O GMT+8; GMT+08:00; UTC-08:00;
X zone-offset 'Z' voor nul offset-X Z; -08; -0830; -08:30; -083015; -08:30:15;
X zone-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z zone-offset offset-Z +0000; -0800; -08:00;
' escape voor tekst scheidingsteken
'' enkele aanhalingsteken Letterlijke '
[ optionele sectie starten
] optioneel sectie-einde

Het aantal patroonletters bepaalt de notatie.

  • Tekst: De tekststijl wordt bepaald op basis van het aantal gebruikte patroonletters. Minder dan 4 patroonletters gebruiken de korte tekstvorm, meestal een afkorting, bijvoorbeeld maandag van de dag van de week, kan 'Mon' opleveren. Precies 4 patroonletters gebruiken het volledige tekstformulier, meestal de volledige beschrijving, bijvoorbeeld maandag van de dag van de week, kan 'maandag' opleveren. 5 of meer letters mislukken.

  • Getal(n): De n hier geeft het maximumaantal letters aan dat dit type datum/tijd-patroon kan worden gebruikt. Als het aantal letters één is, wordt de waarde uitgevoerd met behulp van het minimum aantal cijfers en zonder opvulling. Anders wordt het aantal cijfers gebruikt als de breedte van het uitvoerveld, waarbij de waarde nul wordt opgevuld, indien nodig.

  • Getal/tekst: Als het aantal patroonletters 3 of hoger is, gebruikt u de bovenstaande tekstregels. Gebruik anders de bovenstaande nummerregels.

  • Breuk: Gebruik een of meer (maximaal 9) aaneengesloten 'S' tekens, bijvoorbeeld SSSSSSom een fractie van de seconde te parseren en op te maken. Voor parseren kan de acceptabele breuklengte [1, het aantal aaneengesloten 'S'] zijn. Voor opmaak wordt de breuklengte opgevuld met het aantal aaneengesloten 'S' met nullen. Azure Databricks biedt ondersteuning voor datum/tijd van micro-van-seconde precisie, met maximaal 6 significante cijfers, maar kan nano-of-seconde parseren met een overschreden deel.

  • Jaar: Het aantal letters bepaalt de minimale veldbreedte waaronder opvulling wordt gebruikt. Als het aantal letters twee is, wordt een gereduceerd formulier van twee cijfers gebruikt. Voor afdrukken worden de meest rechtse twee cijfers weergegeven. Voor parseren wordt dit geparseerd met behulp van de basiswaarde van 2000, wat resulteert in een jaar binnen het bereik van 2000 tot 2099. Als het aantal letters kleiner is dan vier (maar niet twee), wordt het teken alleen uitgevoerd voor negatieve jaren. Anders wordt het teken uitgevoerd als de padbreedte wordt overschreden wanneer 'G' niet aanwezig is. 7 of meer letters mislukken.

  • Maand: Deze volgt de regel van getal/tekst. Het tekstformulier is afhankelijk van letters: 'M' geeft het standaardformulier aan en 'L' is bedoeld voor zelfstandig formulier. Deze twee formulieren verschillen alleen in bepaalde talen. In het Russisch is 'Июль' bijvoorbeeld de zelfstandige vorm van juli en is 'Июля' de standaardvorm. Hier volgen voorbeelden voor alle ondersteunde patroonbrieven:

    • 'M' of 'L': Maandnummer in een jaar vanaf 1. Er is geen verschil tussen 'M' en 'L'. Maand van 1 tot en met 9 worden afgedrukt zonder opvulling.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' of 'LL': Maandnummer in een jaar vanaf 1. Nul opvulling wordt toegevoegd voor maanden 1-9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': Korte tekstuele weergave in het standaardformulier. Het maandpatroon moet deel uitmaken van een datumpatroon, niet alleen een zelfstandige maand, behalve landinstellingen waarbij er geen verschil is tussen stand- en zelfstandige formulieren, zoals in het Engels.

      > SELECT date_format(date '1970-01-01', 'd MMM');
        1 Jan
      
      -- Passing a format pattern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU'));
        01 янв.
      
    • 'MMMM': volledige tekstuele maandweergave in het standaardformulier. Deze wordt gebruikt voor het parseren/opmaken van maanden als onderdeel van datums/tijdstempels.

      > SELECT date_format(date '1970-01-01', 'd MMMM');
        1 January
      
      -- Passing a format pttern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU'));
        1 января
      
  • am-pm: Dit levert de am-pm-of-day. Het aantal patroonletters moet 1 zijn.

  • Zone-id(V): Hiermee wordt de tijdzone-id weergegeven. Het aantal patroonletters moet 2 zijn.

  • Zonenamen(z): Hiermee wordt de tekstnaam van de tijdzone-id weergegeven. Als het aantal letters één, twee of drie is, wordt de korte naam uitgevoerd. Als het aantal letters vier is, wordt de volledige naam uitgevoerd. Vijf of meer letters mislukken.

  • Verschuiving X en x: Hiermee wordt de offset opgemaakt op basis van het aantal patroonletters. Met één letter wordt alleen het uur uitgevoerd, zoals +01, tenzij de minuut niet nul is. In dat geval wordt de minuut ook uitgevoerd, zoals +0130. Twee letters voeren het uur en de minuut uit, zonder dubbele punt, zoals '+0130'. Drie letters voeren het uur en de minuut uit, met een dubbele punt, zoals '+01:30'. Vier letters voeren het uur en de minuut en optionele seconde uit, zonder dubbele punt, zoals +013015. Vijf letters voeren het uur en de minuut en optionele seconde uit, met een dubbele punt, zoals '+01:30:15'. Zes of meer letters mislukken. Patroonletter 'X' (hoofdletter) levert 'Z' op wanneer de offset die als uitvoer moet worden uitgevoerd nul is, terwijl patroonletter 'x' (kleine letter) '+00', '+0000' of '+00:00' uitvoert.

  • Offset O: Hiermee wordt de gelokaliseerde offset opgemaakt op basis van het aantal patroonletters. Eén letter voert de korte vorm uit van de gelokaliseerde offset, die gelokaliseerde offsettekst is, zoals 'GMT', met uur zonder voorloopnul, optionele 2-cijferige minuut en seconde als niet-nul en dubbele punt, bijvoorbeeld GMT+8. Met vier letters wordt het volledige formulier uitgevoerd. Dit is gelokaliseerde verschuivingstekst, zoals GMT, met veld 2 cijfers en minuten, optioneel tweede veld als niet-nul en dubbele punt, bijvoorbeeld GMT+08:00. Elk ander aantal letters mislukt.

  • Verschuiving Z: Hiermee wordt de offset opgemaakt op basis van het aantal patroonletters. Met één, twee of drie letters wordt het uur en de minuut uitgevoerd, zonder dubbele punt, zoals '+0130'. De uitvoer is +0000 wanneer de offset nul is. Vier letters leveren de volledige vorm van gelokaliseerde offset op, gelijk aan vier letters offset-O. De uitvoer is de bijbehorende gelokaliseerde offsettekst als de offset nul is. Vijf letters voeren het uur, minuut, met optionele seconde als niet-nul, met dubbele punt. Het resultaat is 'Z' als de offset nul is. Zes of meer letters mislukken.

  • Optioneel begin en einde van de sectie: gebruik [] deze optie om een optionele sectie te definiëren en misschien genest. Tijdens de opmaak worden alle geldige gegevens uitgevoerd, zelfs in de optionele sectie. Tijdens het parseren ontbreekt de hele sectie mogelijk in de geparseerde tekenreeks. Een optionele sectie wordt gestart en [ beëindigd met behulp ] van (of aan het einde van het patroon).

  • Symbolen van 'E', 'F', 'q' en 'Q' kunnen alleen worden gebruikt voor datum/tijd-opmaak, bijvoorbeeld date_format. Ze zijn niet toegestaan voor het parseren van datum/tijd, bijvoorbeeld to_timestamp.