Dela via


Datum- och tidsmönster

Gäller för:markerad ja Databricks SQL markerad ja 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 texten e.Kr; Efter Kristus
y år år 2020; 20
D dag på året nummer(3) 189
M/L månad på året månad 7; 07; Jul; Juli
d månadens dag nummer(3) 28
Q/q kvartal på året tal/text 3; 03; Q3; Tredje kvartalet
E veckodag texten Tis; Tisdag
F justerad veckodag i månaden nummer(1) 3
a förmiddag-eftermiddag-dag am-pm PM
h klocktimme av fm-em (1-12) nummer(2) 12
K timme 'am-pm' (0-11) nummer(2) 0
k klocktimme på dygn (1–24) nummer(2) 0
H dagens timme (0–23) nummer(2) 0
m minut av timmen nummer(2) 30
s sekund i minuten nummer(2) 55
S bråkdel av sekunden bråk 978
V tidszons-ID zon-id Amerika/Los_Angeles; Z; -08:30
z tidszonsnamn zon-namn Stillahavstiden; PST (UTC-8)
O lokaliserad zonförskjutning offset-O GMT+8; GMT+08:00; UTC-08:00;
X tidszonsförskjutning "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-tecken för text avgränsare
'' enkelt citattecken ordagrann '
[ 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 tecken använder ett kort textformat, vanligtvis en förkortning, t.ex. veckodagen måndag kan skrivas ut som "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, skrivs värdet ut 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 fyllas ut till antalet sammanhängande "S" med nollor. Azure Databricks har stöd för datum och tid med mikrosekundprecision, vilket har upp till 6 signifikanta siffror, men kan parsa nanosekunder med den överskridna delen avkortad.

  • Å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å) visas symbolen endast för negativa år. Annars matas tecknet ut om bredden på plattan överskrids när "G" inte finns. 7 eller fler bokstäver kommer inte att godkännas.

  • 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 språkmiljöer där det inte finns någon skillnad mellan fristående och integrerade former 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 textuell månadsrepresentation i standardform. 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 visar förmiddag-eftermiddag. Antalet mönsterbokstäver måste vara 1.

  • Zon-ID(V): Detta visar tidszons-ID. Antalet mönsterbokstäver måste vara exakt 2.

  • Zonnamn(z): Detta matar ut visningstextnamnet för tidszons-ID:t. Om antalet bokstäver är ett, två eller tre, används det korta namnet. Om antalet bokstäver är fyra visas det fullständiga namnet. 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 tecken visar timmen och minuten, med ett kolon, såsom '+01:30'. Fyra bokstäver matar ut timme och minut och valfri sekund, utan kolon, till exempel "+013015". Fem tecken visar timme och minut samt valfri sekund, med kolon, till exempel +01:30:15. Sex eller fler bokstäver misslyckas. Mönsterbokstaven 'X' (stora bokstäver) kommer att mata ut 'Z' när förskjutningen som ska matas ut är noll, medan mönsterbokstaven 'x' (små bokstäver) kommer att mata ut '+00', '+0000' eller '+00:00'.

  • Offset O: Detta formaterar den lokaliserade offseten baserat på antalet mönsterbokstäver. Ett tecken anger en kort form av en lokal förskjutning, vilken är lokal förskjutningstext, till exempel "GMT", med timme utan nolla i början, valfri 2-siffrig minut och sekund om de inte är noll, och ett kolon, till exempel "GMT+8". Fyra bokstäver visar den fullständiga formen, som är lokaliserad förskjutningstext, till exempel "GMT", med 2-siffrigt tim- och minutfält, ett valfritt sekundfält om det inte är noll, och kolon, till exempel "GMT+08:00". Alla andra antal bokstäver kommer att misslyckas.

  • Offset Z: Detta formaterar förskjutningen baserat på antalet mönstertecken. En, två eller tre bokstäver matar ut timme och minut, utan kolon, till exempel "+0130". Resultatet är '+0000' när förskjutningen är noll. Fyra bokstäver ger den fullständiga formen av lokaliserad förskjutning, motsvarande de fyra bokstäverna i Offset-O. Resultatet är den lokaliserade text med förskjutning om förskjutningen är noll. Fem bokstäver visar timme och minut, med valfri sekund om den inte är noll, med kolon. Den ger "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. En valfri sektion startas av [ och avslutas med ] (eller vid 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.