datetime-Muster
Gilt für: Databricks SQL Databricks Runtime
Es gibt mehrere häufige Szenarien für die Verwendung des Datetime-Datentyps in Azure Databricks:
- CSV- und JSON-Datenquellen verwenden die Musterzeichenfolge zum Analysieren und Formatieren von Datetime-Inhalten.
- Datetime-Funktionen für die Konvertierung von
STRING
in und ausDATE
oderTIMESTAMP
. Beispiel:
Mustertabelle
Azure Databricks verwendet zum Analysieren und Formatieren von Datumsangaben und Zeitstempeln die in der folgenden Tabelle aufgeführten Musterbuchstaben:
Symbol | Bedeutung | Präsentation | Beispiele |
---|---|---|---|
G | Ära | text | AD; Anno Domini |
y | year | year | 2020; 20 |
D | Tag des Jahres | number(3) | 189 |
M/L | Monat des Jahres | month | 7; 07; Jul; Juli |
d | Tag des Monats | Zahl (3) | 28 |
Q/q | Quartal des Jahres | number/text | 3; 03; Q3; 3. Quartal |
E | Wochentag | text | DI; Dienstag |
F | Ausgerichteter Wochentag im Monat | Zahl (1) | 3 |
a | Ante meridiem/post meridiem (AM/PM) | am-pm | PM |
h | Stunde im 12-Stunden-Format, AM/PM (1–12) | Zahl (2) | 12 |
K | Stunde AM/PM (0–11) | Zahl (2) | 0 |
k | Zeitstunde des Tages (1–24) | Zahl (2) | 0 |
H | Stunde des Tages (0–23) | Zahl (2) | 0 |
m | Minute der Stunde | Zahl (2) | 30 |
s | Sekunde der Minute | Zahl (2) | 55 |
S | Sekundenbruchteil | fraction | 978 |
V | Zeitzonen-ID | Zonen-ID | America/Los_Angeles; Z; -08:30 |
z | Zeitzonenname | Zonenname | Pazifische Standardzeit; Pacific Standard Time; PST |
O | Lokalisierter Zeitzonenoffset | offset-O | GMT+8; GMT+08:00; UTC-08:00; |
X | Zeitzonenoffset „Z“ für 0 | offset-X | Z; -08; -0830; -08:30; -083015; -08:30:15; |
x | Zeitzonenoffset | offset-x | +0000; -08; -0830; -08:30; -083015; -08:30:15; |
Z | Zeitzonenoffset | offset-Z | +0000; -0800; -08:00; |
‘ | Escapezeichen für Text | Trennzeichen | |
‘’ | einfache Anführungszeichen | literal | ‘ |
[ | Optionaler Abschnittsbeginn | ||
] | Optionales Abschnittsende |
Die Anzahl der Musterbuchstaben bestimmt das Format.
Text: Das Textformat wird basierend auf der Anzahl der verwendeten Musterbuchstaben bestimmt. Bei weniger als 4 Musterbuchstaben wird die Kurztextform verwendet, in der Regel eine Abkürzung, z. B. kann für den Wochentag Montag die Abkürzung „Mon“ ausgegeben werden. Bei genau 4 Musterbuchstaben wird die Volltextform verwendet, in der Regel die vollständige Beschreibung, z. B. kann „Montag“ für den Wochentag Montag ausgegeben werden. 5 oder mehr Buchstaben führen zu einem Fehler.
Zahl(n): Das n stellt hier die maximale Anzahl von Buchstaben dar, die für diesen Typ von Datetime-Muster verwendet werden können. Wenn die Anzahl der Buchstaben eins ist, wird der Wert mit der Mindestanzahl von Ziffern und ohne Auffüllung ausgegeben. Andernfalls wird die Anzahl der Ziffern als Breite des Ausgabefelds verwendet, wobei der Wert ggf. mit Nullen aufgefüllt wird.
Zahl/Text: Wenn die Anzahl der Musterbuchstaben gleich oder größer als 3 ist, verwenden Sie die obigen Regeln für Text. Verwenden Sie andernfalls die obigen Regeln für Zahlen.
Bruch: Verwenden Sie ein oder mehrere (bis zu 9) zusammenhängende
'S'
-Zeichen, z. B.SSSSSS
, um den Sekundenbruchteil zu analysieren und zu formatieren. Für die Analyse kann die zulässige Bruchlänge [1, die Anzahl der zusammenhängenden „S“-Zeichen] sein. Bei der Formatierung wird die Bruchlänge mit Nullen auf die Anzahl der zusammenhängenden „S“-Zeichen aufgefüllt. Azure Databricks unterstützt datetime-Angaben mit einer Genauigkeit von Mikrosekunden, mit bis zu 6 signifikanten Ziffern, kann aber auch Nanosekunden analysieren, wobei der übersteigende Teil abgeschnitten wird.Jahr: Die Anzahl der Buchstaben bestimmt die Mindestfeldbreite, unter der eine Auffüllung verwendet wird. Wenn die Anzahl der Buchstaben zwei beträgt, wird ein reduziertes zweistelliges Format verwendet. Beim Drucken werden die zwei äußersten rechten Ziffern ausgegeben. Bei der Analyse wird der Basiswert 2000 verwendet, was zu einer Jahreszahl im Bereich von 2000 bis einschließlich 2099 führt. Wenn die Anzahl der Buchstaben weniger als vier (aber nicht zwei) beträgt, wird das Vorzeichen nur bei negativen Jahreszahlen ausgegeben. Andernfalls wird das Vorzeichen ausgegeben, wenn die Auffüllbreite bei nicht vorhandenem „G“ überschritten wird. 7 oder mehr Buchstaben führen zu einem Fehler.
Monat: Es gilt die Regel von Zahl/Text. Das Textformat ist von den Buchstaben abhängig:
'M'
steht für das Standardformat und'L'
für das „eigenständige“ Format. Diese beiden Formate sind nur in einigen bestimmten Sprachen unterschiedlich. Beispielsweise ist im Russischen „Июль“ die eigenständige Form von Juli, und „Июля“ ist die Standardform. Nachfolgend finden Sie Beispiele für alle unterstützten Musterbuchstaben:'M'
oder'L'
: Monatszahl in einem Jahr ab 1. Es gibt keinen Unterschied zwischen'M'
und'L'
. Die Monate von 1 bis 9 werden ohne Auffüllung ausgegeben.> SELECT date_format(date '1970-01-01', 'M'); 1 > SELECT date_format(date '1970-12-01', 'L'); 12
'MM'
oder'LL'
: Monatszahl in einem Jahr ab 1. Die Monate 1-9 werden mit Nullen aufgefüllt.> SELECT date_format(date '1970-1-01', 'LL'); 01 > SELECT date_format(date '1970-09-01', 'MM'); 09
'MMM'
: Kurze Textform im Standardformat. Das Monatsmuster sollte Teil eines Datumsmusters sein, nicht nur ein eigenständiger Monat, außer bei Gebietsschemas, bei denen es keinen Unterschied zwischen dem Standardformat und dem eigenständigen Format gibt, wie im Englischen.> 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'
: Vollständige textuelle Monatsdarstellung im Standardformat. Dieses Format wird zum Analysieren/Formatieren von Monaten als Teil von Datums-/Zeitstempeln verwendet.> 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: Gibt die Uhrzeitangabe AM/PM aus. Die Anzahl der Musterbuchstaben muss 1 sein.
Zonen-ID(V): Gibt die Anzeige der Zeitzonen-ID aus. Die Anzahl der Musterbuchstaben muss 2 sein.
Zonennamen(z): Gibt den Namen der Zeitzonen-ID in Textform aus. Wenn die Anzahl der Buchstaben eins, zwei oder drei ist, wird der Kurzname ausgegeben. Wenn die Anzahl der Buchstaben vier beträgt, wird der vollständiger Name ausgegeben. Fünf oder mehr Buchstaben führen zu einem Fehler.
Offset-X und offset-x: Formatiert den Offset basierend auf der Anzahl der Musterbuchstaben. Bei einem Buchstaben wird nur die Stunde ausgegeben, z. B. „+01“, es sei denn, die Minute ist nicht 0 (null). In diesem Fall wird auch die Minute ausgegeben, z. B. „+0130“. Bei zwei Buchstaben werden Stunden und Minuten ohne Doppelpunkt ausgegeben, z. B. „+0130“. Bei drei Buchstaben werden Stunden und Minuten mit einem Doppelpunkt ausgegeben, z. B. „+01:30“. Bei vier Buchstaben werden Stunden und Minuten und optional die Sekunden ohne Doppelpunkt ausgegeben, z. B. „+013015“. Bei fünf Buchstaben werden Stunden und Minuten und optional die Sekunden mit einem Doppelpunkt ausgegeben, z. B. „+01:30:15“. Sechs oder mehr Buchstaben führen zu einem Fehler. Der Musterbuchstaben „X“ (Großbuchstabe) gibt „Z“ aus, wenn der auszugebende Offset 0 (null) wäre, während der Musterbuchstabe „x“ (Kleinbuchstabe) „+00“, „+0000“ oder „+00:00“ ausgibt.
Offset-O: Formatiert den lokalisierten Offset basierend auf der Anzahl der Musterbuchstaben. Bei einem Buchstaben wird die Kurzform des lokalisierten Offsets ausgegeben, d. h. der lokalisierte Offsettext, z B. „GMT“, mit Stundenangabe ohne führende Null, optional zweistelliger Minuten- und Sekundenangabe, wenn nicht 0 (null), und Doppelpunkt, z. B. „GMT+8“. Bei vier Buchstaben wird die vollständige Form ausgegeben, d. h. der lokalisierte Offsettext, z. B. „GMT“, mit zweistelligem Stunden- und Minutenfeld, optionalem Sekundenfeld, wenn nicht 0 (null), und Doppelpunkt, z. B. „GMT+08:00“. Jede andere Anzahl von Buchstaben führt zu einem Fehler.
Offset-Z: Formatiert den Offset basierend auf der Anzahl der Musterbuchstaben. Bei einem, zwei oder drei Buchstaben werden Stunden und Minuten ohne Doppelpunkt ausgegeben, z. B. „+0130“. Die Ausgabe ist „+0000“, wenn der Offset 0 (null) ist. Bei vier Buchstaben wird die vollständige Form des lokalisierten Offsets ausgegeben, was vier Buchstaben von Offset-O entspricht. Die Ausgabe ist der entsprechende lokalisierte Offsettext, wenn der Offset 0 (null) ist. Bei fünf Buchstaben werden Stunden und Minuten und optional die Sekunden, wenn nicht 0 (null), mit Doppelpunkt ausgegeben. Es wird „Z“ ausgegeben, wenn der Offset 0 (null) ist. Sechs oder mehr Buchstaben führen zu einem Fehler.
Optionaler Abschnittsbeginn und optionales Abschnittsende: Verwenden Sie
[]
, um einen optionalen Abschnitt zu definieren, der auch geschachtelt sein kann. Bei der Formatierung werden alle gültigen Daten ausgegeben, auch wenn sie im optionalen Abschnitt enthalten sind. Bei der Analyse fehlt möglicherweise der gesamte Abschnitt in der analysierten Zeichenfolge. Ein optionaler Abschnitt beginnt mit[
und endet mit]
(oder am Ende des Musters).Die Symbole „E“, „F“, „q“ und „Q“ können nur für die Datetime-Formatierung verwendet werden, z. B.
date_format
. Sie dürfen nicht für die Datetime-Analyse verwendet werden, z. B.to_timestamp
.