Sdílet prostřednictvím


Vzory pro datum a čas

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

V Azure Databricks existuje několik běžných scénářů použití data a času:

Vzor table

Azure Databricks používá vzorová písmena v následujícím table pro parsování a formátování data a časového razítka.

Symbol Význam Prezentace Příklady
G éra text REKLAMA; Anno Domini
y rok rok 2020; 20
D day-of-year číslo(3) 189
M/L month-of-year měs 7; 07; Červenec; Červenec
d den v měsíci číslo(3) 28
Q/q čtvrtletí roku číslo/text 3; 03; Otázka č. 3; 3. čtvrtletí
E den v týdnu text Út; Úterý
F aligned day of week in month number(1) 3
a am-pm-of-day am-pm PM
h hodina odpoledne (1-12) number(2) 12
K hodina odpoledne (0–11) number(2) 0
k hodina dne (1–24) number(2) 0
H hodina dne (0–23) number(2) 0
m minuta hodina number(2) 30
s sekunda za minutu number(2) 55
S zlomek sekundy frakce 978
V ID časového pásma zone-id Amerika/Los_Angeles; Z; -08:30
z název časového pásma název zóny Tichomořský běžný čas; PST
O lokalizovaná zóna –offset offset-O GMT+8; GMT+08:00; UTC-08:00;
X zone-offset 'Z' pro nulu offset-X Z; -08; -0830; -08:30; -083015; -08:30:15;
x zóna –offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z zóna –offset offset-Z +0000; -0800; -08:00;
escape for text oddělovač
‘’ jednoduchá uvozovka literal
[ volitelný začátek oddílu
] volitelný konec oddílu

Počet vzorových písmen určuje formát.

  • Text: Styl textu je určen na základě počtu použitých vzorových písmen. Menší než 4 vzorová písmena budou používat krátký textový formulář, obvykle zkratku, například pondělí v týdnu může vypisovat "Mon". Přesně 4 vzorová písmena budou používat celý textový formulář, obvykle úplný popis, například pondělí v týdnu může vypisovat "Pondělí". 5neboch

  • Number(n): N zde představuje maximální počet písmen, které lze použít tento typ vzorce data a času. Pokud je počet písmen jeden, je hodnota výstupem s minimálním počtem číslic a bez odsazení. V opačném případě se počet číslic použije jako šířka výstupního pole s hodnotou nula.

  • Číslo/text: Pokud je počet vzorových písmen 3 nebo větší, použijte výše uvedená pravidla textu. Jinak použijte výše uvedená pravidla číslování.

  • Zlomek: K analýze a formátování zlomku sekundy použijte jeden nebo více (až 9) souvislých 'S' znaků SSSSSS. Pro analýzu může být přijatelná délka zlomku [1, počet souvislých 'S']. Pro formátování by byla délka zlomku vycpaná na počet souvislých "S" s nulami. Azure Databricks podporuje datum a čas mikrosekundové přesnosti, která má až 6 významných číslic, ale dokáže parsovat nano-of-sekundu s překročením zkrácení části.

  • Rok: Počet písmen určuje minimální šířku pole, pod kterou se používá odsazení. Pokud je počet písmen dva, použije se zkrácený dvoumístný formulář. Pro tisk se tím zobrazí úplně vpravo dvě číslice. Při analýze se parsuje pomocí základní hodnoty 2000, což vede k roku v rozsahu 2000 až 2099 včetně. Pokud je počet písmen menší než čtyři (ale ne dva), je znaménko výstupem pouze pro záporné roky. V opačném případě je znaménko výstupem, pokud je šířka panelu překročena, pokud není k dispozici znak G. 7 nebo více písmen selže.

  • Měsíc: Řídí se pravidlem číslo/text. Textový formulář je závislý na písmenech – 'M' označuje "standardní" formulář a 'L' je určen pro samostatný formulář. Tyto dvě formy se liší pouze v některých určitých jazycích. Například v ruštině je "Июль" samostatnou formou července a "Июля" je standardní forma. Tady jsou příklady pro všechna podporovaná vzorová písmena:

    • 'M' nebo 'L': Číslo měsíce v roce od 1. 'M' Mezi a 'L'. Měsíc od 1 do 9 se vytiskne bez odsazení.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' nebo 'LL': Číslo měsíce v roce od 1. Nulové odsazení se přidá po dobu měsíců 1–9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': Krátká textová reprezentace ve standardní podobě. Vzor měsíce by měl být součástí datového vzorce, a nikoliv pouze samostatným měsícem, s výjimkou místního nastavení where, kde neexistuje rozdíl mezi běžnými a samostatnými formulacemi jako v angličtině.

      > 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': full textal month representation in the standard form. Používá se k analýze a formátování měsíců jako součást kalendářních dat a časových razítek.

      > 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: Výstupem je am-pm-of-day. Počet vzorových písmen musí být 1.

  • ID zóny(V): Zobrazí se ID časového pásma. Počet vzorových písmen musí být 2.

  • Názvy zón(z): Výstupem je zobrazovaný textový název ID časového pásma. Pokud je počet písmen jeden, dva nebo tři, je krátký název výstupem. Pokud je počet písmen čtyři, zobrazí se celý název. Pět nebo více písmen selže.

  • Offset X a x: Formátuje offset na základě počtu vzorových písmen. Jedno písmeno vypíše pouze hodinu, například +01, pokud minuta není nulová, v takovém případě se minuta také zobrazí jako výstup, například +0130. Dvě písmena vypisují hodinu a minutu bez dvojtečky, například +0130. Tři písmena vypíše hodinu a minutu s dvojtečku, například +01:30. Čtyři písmena vypíše hodinu a minutu a volitelnou sekundu bez dvojtečky, například +013015. Pět písmen vypíše hodinu a minutu a volitelnou sekundu s dvojtečku, například +01:30:15. Šest nebo více písmen selže. Vzorové písmeno 'X' (velké písmeno) bude výstupem 'Z', když hodnota offset, kterou je třeba zobrazit, bude nula, zatímco písmeno vzoru 'x' (malé) zobrazí '+00', '+0000' nebo '+00:00'.

  • Offset O: Naformátuje lokalizované offset na základě počtu vzorových písmen. Jedno písmeno vypíše krátkou formu lokalizované offset, což je lokalizovaný text offset, jako například „GMT“, s hodinou bez úvodní nuly, volitelnými dvoucifernými minutami a sekundami, pokud jsou nenulové, a dvojtečkovým oddělením, například „GMT+8“. Čtyři písmena vypíší celou verzi, která je lokalizovaný jako offset text, například „GMT“, s dvouciferným polem hodin a minut, volitelným druhým polem, pokud není nula, a dvojtečkou, například „GMT+08:00“. Jakýkoli jiný počet písmen se nezdaří.

  • Offset Z: Formátuje offset na základě počtu vzorových písmen. Jedna, dvě nebo tři písmena vypíše hodinu a minutu bez dvojtečky, například +0130. Výstup je +0000, když je offset nula. Čtyři písmena zobrazí úplnou podobu lokalizovaných offset, což odpovídá čtyřem písmenům Offset-O. Výstup je odpovídající lokalizovaný offset text, pokud je offset nula. Pět písmen vypíše hodinu, minutu s volitelnou sekundou, pokud není nula, s dvojtečku. Výstupem je Z, pokud je offset nula. Šest nebo více písmen selže.

  • Volitelný začátek a konec oddílu: Slouží [] k definování volitelného oddílu a možná vnořeného oddílu. Při formátování jsou všechna platná data výstupem, i když jsou v volitelné části. Během analýzy nemusí v analyzovaném řetězci chybět celý oddíl. Volitelný oddíl je zahájen [ a ukončen pomocí ] (nebo na konci vzoru).

  • Symboly "E", "F", "q" a "Q" lze použít pouze pro formátování data a času, například date_format. Nejsou povoleny pro parsování data a času, např. to_timestamp.