Wzorce daty/godziny

Dotyczy:check marked yes Databricks SQL check marked yes Databricks Runtime

Istnieje kilka typowych scenariuszy użycia daty/godziny w usłudze Azure Databricks:

Tabela deseń

Usługa Azure Databricks używa liter wzorca w poniższej tabeli na potrzeby analizowania i formatowania znacznika czasu:

Symbol Znaczenie Prezentacja Przykłady
G Era text AD; Anno Domini
Y rocznie rocznie 2020; 20
D dzień roku number(3) 189
M/L miesiąc roku miesiąca 7; 07; Lip; Lipca
d dzień miesiąca number(3) 28
Q/q kwartał roku liczba/tekst 3; 03; Q3; Trzeci kwartał
E dzień tygodnia text Wt; Wtorek
F wyrównany dzień tygodnia w miesiącu number(1) 3
A am-pm-of-day am-pm PM
h clock-hour-of-am-pm (1-12) number(2) 12
K godzina am-pm (0-11) number(2) 0
K zegar-godzina-dzień (1-24) number(2) 0
H godzina dnia (0–23) number(2) 0
m minuta godziny number(2) 30
s sekunda minuty number(2) 55
S ułamek sekundy Frakcji 978
V identyfikator strefy czasowej identyfikator strefy Ameryka/Los_Angeles; Z; -08:30
Z nazwa strefy czasowej nazwa strefy Pacyfik (czas standardowy); PST
O przesunięcie strefy zlokalizowanej offset-O GMT+8; GMT+08:00; UTC-08:00;
X przesunięcie strefy "Z" dla zera przesunięcie X Z; -08; -0830; -08:30; -083015; -08:30:15;
X przesunięcie strefy przesunięcie x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z przesunięcie strefy przesunięcie Z +0000; -0800; -08:00;
' ucieczka tekstu Ogranicznik
'' pojedynczy cudzysłów literal '
[ opcjonalne rozpoczęcie sekcji
] opcjonalny koniec sekcji

Liczba liter wzorca określa format.

  • Tekst: styl tekstu jest określany na podstawie liczby używanych liter wzór. Mniej niż 4 litery wzorca będą używać krótkiego formularza tekstowego, zazwyczaj skrótu, np. dzień tygodnia poniedziałek może wyświetlić "Mon". Dokładnie 4 litery wzorca będą używać formularza pełnotekstowego, zazwyczaj pełny opis, np. dzień tygodnia poniedziałek może wyświetlić "poniedziałek". 5 lub więcej liter zakończy się niepowodzeniem.

  • Number(n): N w tym miejscu reprezentuje maksymalną liczbę liter tego typu wzorca daty/godziny. Jeśli liczba liter jest jedna, wartość jest zwracana przy użyciu minimalnej liczby cyfr i bez dopełnienia. W przeciwnym razie liczba cyfr jest używana jako szerokość pola wyjściowego z wartością zero-padded zgodnie z potrzebami.

  • Liczba/tekst: jeśli liczba liter wzorca wynosi 3 lub więcej, użyj powyższych reguł tekstowych. W przeciwnym razie użyj powyższych reguł Liczba.

  • Ułamek: użyj co najmniej jednego (do 9) ciągłych 'S' znaków, na przykład , SSSSSSaby przeanalizować i sformatować ułamek sekundy. W przypadku analizowania dopuszczalna długość ułamka może wynosić [1, liczba ciągłych wartości "S". W przypadku formatowania długość ułamka byłaby dopełniona liczbą ciągłych wartości "S" zerami. Usługa Azure Databricks obsługuje datę/godzinę dokładności mikro-of-second, która ma maksymalnie 6 cyfr znaczących, ale może przeanalizować nano-of-second z przekroczoną częścią obciętą.

  • Rok: liczba liter określa minimalną szerokość pola poniżej, która jest używana dopełnienie. Jeśli liczba liter to dwie, zostanie użyta skrócona dwucyfrowa forma. W przypadku drukowania dane wyjściowe są najodpowidsze dwie cyfry. W przypadku analizowania spowoduje to przeanalizowanie przy użyciu wartości bazowej 2000, co spowoduje rok w przedziale od 2000 do 2099 włącznie. Jeśli liczba liter jest mniejsza niż cztery (ale nie dwa), oznacza to, że znak jest zwracany tylko przez ujemne lata. W przeciwnym razie znak jest wynikiem wyjściowym, jeśli szerokość podkładki zostanie przekroczona, gdy "G" nie jest obecny. 7 lub więcej liter zakończy się niepowodzeniem.

  • Miesiąc: jest zgodny z regułą liczby/tekstu. Formularz tekstowy jest zależny od liter — 'M' oznacza formularz "standardowy" i 'L' jest przeznaczony dla formularza autonomicznego. Te dwie formy różnią się tylko w niektórych językach. Na przykład w języku rosyjskim "Июль" jest autonomiczną formą lipca, a "Июля" jest standardową formą. Oto przykłady wszystkich obsługiwanych liter wzorca:

    • 'M' lub 'L': Numer miesiąca w roku rozpoczynający się od 1. Nie ma różnicy między 'M' i 'L'. Miesiąc od 1 do 9 są drukowane bez dopełnienia.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' lub 'LL': Numer miesiąca w roku rozpoczynający się od 1. Dopełnianie zerowe jest dodawane przez miesiące 1–9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': krótka reprezentacja tekstowa w postaci standardowej. Wzorzec miesiąca powinien być częścią wzorca daty nie tylko autonomicznego miesiąca, z wyjątkiem ustawień regionalnych, w których nie ma różnicy między autonomicznymi i autonomicznymi formami, takimi jak w języku angielskim.

      > 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': pełna reprezentacja miesiąca tekstowego w standardowym formularzu. Służy do analizowania/formatowania miesięcy w ramach dat/znaczników czasu.

      > 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: Spowoduje to wyjście am-pm-of-day. Liczba liter wzorca musi być 1.

  • Identyfikator strefy (V): Spowoduje to wyświetlenie identyfikatora strefy czasowej. Liczba liter wzorca musi być 2.

  • Nazwy stref (z): spowoduje to wyświetlenie tekstowej nazwy identyfikatora strefy czasowej. Jeśli liczba liter to jedna, dwie lub trzy, krótka nazwa to dane wyjściowe. Jeśli liczba liter wynosi cztery, pełna nazwa to dane wyjściowe. Pięć lub więcej liter zakończy się niepowodzeniem.

  • Przesunięcie X i x: to formatuje przesunięcie na podstawie liczby liter deseń. Jedna litera zwraca tylko godzinę, taką jak "+01", chyba że minuta nie jest równa zero, w tym przypadku minuta jest również danymi wyjściowymi, takimi jak "+0130". Dwie litery zwraca godzinę i minutę bez dwukropka, na przykład "+0130". Trzy litery wyświetlają godzinę i minutę z dwukropkiem, takim jak "+01:30". Cztery litery wyświetlają godzinę i minutę i opcjonalną sekundę bez dwukropka, takiego jak "+013015". Pięć liter zwraca godzinę i minutę i opcjonalną sekundę z dwukropkiem, takim jak "+01:30:15". Co najmniej sześć liter zakończy się niepowodzeniem. Litera wzorca "X" (wielkie litery) zwróci wartość "Z", gdy przesunięcie wartości wyjściowej będzie zerowe, natomiast litera wzorca "x" (małe litery) spowoduje wyjście "+00", "+0000" lub "+00:00".

  • Przesunięcie O: formatuje zlokalizowane przesunięcie na podstawie liczby liter wzorca. Jedna litera zwraca krótką formę zlokalizowanego przesunięcia, czyli zlokalizowanego tekstu przesunięcia, takiego jak "GMT", z godziną bez zera wiodącego, opcjonalną 2-cyfrową minutą i sekundą, jeśli niezerową i dwukropkiem, na przykład "GMT+8". Cztery litery zwraca pełny formularz, który jest zlokalizowany tekst przesunięcia, taki jak "GMT, z 2-cyfrowym polem godziny i minuty, opcjonalne drugie pole, jeśli niezerowe i dwukropek, na przykład "GMT+08:00". Każda inna liczba liter zakończy się niepowodzeniem.

  • Przesunięcie Z: to formatuje przesunięcie na podstawie liczby liter deseń. Jedna, dwie lub trzy litery zwraca godzinę i minutę, bez dwukropka, takiego jak "+0130". Dane wyjściowe to "+0000", gdy przesunięcie ma wartość zero. Cztery litery zwraca pełną formę zlokalizowanego przesunięcia, co odpowiada czterem literom przesunięcia O. Dane wyjściowe są odpowiadającym zlokalizowanym tekstem przesunięcia, jeśli przesunięcie ma wartość zero. Pięć liter zwraca godzinę, minutę, z opcjonalną sekundą, jeśli niezerową, z dwukropkiem. Zwraca wartość "Z", jeśli przesunięcie ma wartość zero. Co najmniej sześć liter zakończy się niepowodzeniem.

  • Opcjonalne rozpoczęcie i zakończenie sekcji: użyj polecenia [] , aby zdefiniować opcjonalną sekcję i być może zagnieżdżoną. Podczas formatowania wszystkie prawidłowe dane są danymi wyjściowymi, nawet w sekcji opcjonalnej. Podczas analizowania w ciągu przeanalizowanym może brakować całej sekcji. Opcjonalna sekcja jest uruchamiana i [ kończy się przy użyciu ] (lub na końcu wzorca).

  • Symbole "E", "F", "q" i "Q" mogą być używane tylko do formatowania daty/godziny, np. date_format. Nie są one dozwolone do analizowania daty/godziny, np. to_timestamp.