Datetime-mönster

Gäller för:check marked yes Databricks SQL check marked yes Databricks Runtime

Det finns flera vanliga scenarier för datetime-användning i Azure Databricks:

Mönstertabell

Azure Databricks använder mönsterbokstäver i följande tabell för parsning och formatering av datum och tidsstämpel:

Symbol Innebörd Presentation Exempel
G era text AD; Anno Domini
Y år år 2020; 20
D dag på året number(3) 189
M/L årets månad månad 7; 07; Juli; Juli
d dag i månaden number(3) 28
Q/q kvartal på året tal/text 3; 03; Q3; Tredje kvartalet
E veckodag text Tis; Tisdag
F justerad veckodag i månaden number(1) 3
A am-pm-of-day am-pm PM
h clock-hour-of-am-pm (1-12) number(2) 12
K tim-of-am-pm (0-11) number(2) 0
K klocktimmes (1–24) number(2) 0
H dagens timme (0–23) number(2) 0
m minut i timmen number(2) 30
s sekund i minuten number(2) 55
S bråkdel av sekunden Bråkdel 978
V tidszons-ID zone-id Amerika/Los_Angeles; Z; -08:30
Z tidszonsnamn zone-name Pacific Standard Time; PST
O lokaliserad zonförskjutning offset-O GMT+8; GMT+08:00; UTC-08:00;
X zone-offset "Z" för noll offset-X Z; -08; -0830; -08:30; -083015; -08:30:15;
X zonförskjutning offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z zonförskjutning offset-Z +0000; -0800; -08:00;
' escape för text Avgränsare
'' enkelt citattecken Bokstavlig '
[ valfri avsnittsstart
] valfri avsnittsslut

Antalet mönsterbokstäver avgör formatet.

  • Text: Textformatet bestäms baserat på antalet mönsterbokstäver som används. Mindre än 4 mönsterbokstäver använder det korta textformuläret, vanligtvis en förkortning, t.ex. veckodag måndag kan mata ut "Mon". Exakt 4 mönsterbokstäver använder det fullständiga textformuläret, vanligtvis kan den fullständiga beskrivningen, t.ex. veckodag måndag, mata ut "måndag". 5 eller fler bokstäver misslyckas.

  • Number(n): N här representerar det maximala antalet bokstäver som den här typen av datetime-mönster kan användas. Om antalet bokstäver är ett utdata utdatavärdet med det minsta antalet siffror och utan utfyllnad. I annat fall används antalet siffror som utdatafältets bredd, med värdet noll vadderat efter behov.

  • Tal/text: Om antalet mönsterbokstäver är 3 eller större använder du textreglerna ovan. Använd annars nummerreglerna ovan.

  • Bråk: Använd ett eller flera (upp till 9) sammanhängande 'S' tecken, SSSSSStill exempel , för att parsa och formatera del av sekunden. För parsning kan den acceptabla bråklängden vara [1, antalet sammanhängande 'S']. För formatering skulle bråklängden vara vadderad till antalet sammanhängande "S" med nollor. Azure Databricks har stöd för datetime med precisionen micro-of-second, som har upp till 6 signifikanta siffror, men kan parsa nano-of-second med överskriden del trunkerad.

  • År: Antalet bokstäver avgör den minsta fältbredden under vilken utfyllnad används. Om antalet bokstäver är två används ett reducerat tvåsiffrigt formulär. För utskrift matar detta ut de två högra siffrorna. För parsning parsas detta med basvärdet 2000, vilket resulterar i ett år inom intervallet 2000 till 2099 inklusive. Om antalet bokstäver är mindre än fyra (men inte två) är tecknet endast utdata för negativa år. Annars matas tecknet ut om bredden på plattan överskrids när "G" inte finns. 7 eller fler bokstäver misslyckas.

  • Månad: Den följer regeln nummer/text. Textformuläret är beroende av bokstäver – 'M' anger "standardformuläret" och 'L' är för "fristående" formulär. Dessa två formulär skiljer sig bara på vissa språk. På ryska är till exempel "Июль" den fristående formen av juli, och "Июля" är standardformuläret. Här är exempel på alla mönsterbokstäver som stöds:

    • 'M' eller 'L': Månadsnummer i ett år som börjar från 1. Det finns ingen skillnad mellan 'M' och 'L'. Månad från 1 till 9 skrivs ut utan utfyllnad.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' eller 'LL': Månadsnummer i ett år som börjar från 1. Noll utfyllnad läggs till i månader 1–9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': Kort textrepresentation i standardformuläret. Månadsmönstret bör vara en del av ett datummönster, inte bara en fristående månad förutom nationella inställningar där det inte finns någon skillnad mellan fristående och fristående formulär som på engelska.

      > 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': fullständig textmånadsrepresentation i standardformuläret. Den används för parsning/formatering av månader som en del av datum/tidsstämplar.

      > 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: Detta matar ut am-pm-of-day. Antal mönsterbokstavar måste vara 1.

  • Zon-ID(V): Detta visar visning av tidszons-ID. Antal mönsterbokstavar måste vara 2.

  • Zonnamn(z): Detta matar ut visningstextnamnet för tidszons-ID:t. Om antalet bokstäver är ett, två eller tre är det korta namnet utdata. Om antalet bokstäver är fyra är det fullständiga namnet utdata. Fem eller fler bokstäver misslyckas.

  • Offset X och x: Detta formaterar förskjutningen baserat på antalet mönsterbokstäver. En bokstav matar bara ut timmen, till exempel +01, såvida inte minuten är icke-noll, vilket innebär att minuten också matas ut, till exempel +0130. Två bokstäver matar ut timme och minut, utan kolon, till exempel +0130. Tre bokstäver matar ut timme och minut med ett kolon, till exempel +01:30. Fyra bokstäver matar ut timme och minut och valfri sekund, utan kolon, till exempel "+013015". Fem bokstäver matar ut timme och minut och valfri sekund, med ett kolon, till exempel +01:30:15. Sex eller fler bokstäver misslyckas. Mönsterbokstaven X (versaler) matar ut "Z" när förskjutningen blir noll, medan mönsterbokstaven "x" (gemener) matar ut +00, +0000 eller +00:00.

  • Offset O: Detta formaterar den lokaliserade förskjutningen baserat på antalet mönsterbokstäver. En bokstav matar ut den korta formen av den lokaliserade förskjutningen, som är lokaliserad förskjutningstext, till exempel "GMT", med timme utan inledande noll, valfri 2-siffrig minut och sekund om icke-noll, och kolon, till exempel "GMT+8". Fyra bokstäver matar ut det fullständiga formuläret, som är lokaliserad förskjutningstext, till exempel "GMT, med 2-siffrigt tim- och minutfält, valfritt andra fält om det inte är noll och kolon, till exempel "GMT+08:00". Alla andra bokstäver misslyckas.

  • Offset Z: Detta formaterar förskjutningen baserat på antalet mönsterbokstäver. En, två eller tre bokstäver matar ut timme och minut, utan kolon, till exempel "+0130". Utdata är +0000 när förskjutningen är noll. Fyra bokstäver matar ut den fullständiga formen av lokaliserad förskjutning, motsvarande fyra bokstäver i Offset-O. Utdata är motsvarande lokaliserade förskjutningstext om förskjutningen är noll. Fem bokstäver matar ut timme, minut, med valfri sekund om icke-noll, med kolon. Den matar ut "Z" om förskjutningen är noll. Sex eller fler bokstäver misslyckas.

  • Valfri avsnittsstart och slut: Använd [] för att definiera ett valfritt avsnitt och kanske kapslat. Under formateringen matas alla giltiga data ut även i det valfria avsnittet. Under parsningen kan hela avsnittet saknas i den parsade strängen. Ett valfritt avsnitt startas och avslutas [ med ( ] eller i slutet av mönstret).

  • Symboler för "E", "F", "q" och "Q" kan bara användas för datetime-formatering, t.ex. date_format. De tillåts inte användas för datetime-parsning, t.ex. to_timestamp.