Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 18.3 and above
Important
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.
Stellt eine Tageszeit dar, die Werte von Feldern Stunde, Minute und Sekunde ohne Zeitzone umfasst.
Syntax
TIME | TIME(p)
p: Eine optionale Genauigkeit, die die Anzahl der Dezimalstellen im Sekundenfeld angibt.
Gültige Werte sind 0 bis 6. Wenn p nicht angegeben wird, lautet 6 die Standardgenauigkeit (Mikrosekunden).
Grenzen
Der bereich der unterstützten Zeitwerte lautet 00:00:00.000000 :23:59:59.999999
Literale
TIME timeString
timeString
{ '[h]h:[m]m' |
'[h]h:[m]m:[s]s' |
'[h]h:[m]m:[s]s.[f...]' |
'[h]h:[m]m AM|PM' |
'[h]h:[m]m:[s]s AM|PM' |
'[h]h:[m]m:[s]s.[f...] AM|PM' }
-
[h]h: Eine oder zweistellige Stunde zwischen00und23(24-Stunden-Format) oder zwischen01und12(12-Stunden-Format mitAM/PM). -
[m]m: Eine oder zweistellige Minute zwischen00und59. -
[s]s: Eine oder zweiStellige Sekunde zwischen00und59. -
[f...]: Bis zu 6 Ziffern von Sekundenbruchteilen. -
AModerPM: Ein optionales Suffix ohne Groß-/Kleinschreibung, das einen 12-Stunden-Wert angibt.
Das Präfix TIME ist fallinsensitiv.
Wenn die zweite Komponente nicht angegeben ist, wird sie standardmäßig auf 0.
Wenn das Literal keine richtige Zeit darstellt, löst Azure Databricks einen Fehler aus.
Genauigkeitsregeln
Wenn zwei TIME Werte mit unterschiedlichen Genauigkeiten kombiniert werden (z. B. in COALESCE, CASE, UNION oder Arithmetik), verwendet das Ergebnis den breiteren der beiden Genauigkeiten.
Der am wenigsten verbreitete Typ von TIME(3) und TIME(6) ist TIME(6)z. B. .
Wenn Sie einen TIME Wert in eine niedrigere Genauigkeit umwandeln, werden die Bruchsekunden abgeschnitten, nicht gerundet:
> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
12:30:45.987
Wenn Sie ein Tag-Zeit-Intervall zu einem TIMEaddieren oder subtrahieren, verwendet das Ergebnis die breitere TIME Genauigkeit und die Bruchzahl der Sekunde des Intervalls.
TIME(0) + INTERVAL '1.123456' SECOND gibt beispielsweise einen TIME(6) zurück. Wenn das Ergebnis außerhalb [00:00:00, 24:00:00) liegt, löst Azure Databricks DATETIME_OVERFLOW aus.
Hinweise
Alle Vorgänge für TIME Werte werden ohne Berücksichtigung der Zeitzone ausgeführt.
Wenn Sie Spalten in Delta Lake-Tabellen verwenden möchten TIME , wird die Unterstützung automatisch aktiviert, wenn Sie eine neue Delta-Tabelle mit einer Spalte vom TIME Typ erstellen. Um einer vorhandenen Tabelle eine TIME Spalte hinzuzufügen, müssen Sie zuerst das Feature aktivieren:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timeType' = 'supported')
Der TIME Typ hat die folgenden Einschränkungen:
- Wird in generierten Spalten nicht unterstützt.
- Wird für Indizes des Bloom-Filters nicht unterstützt.
- Wird für Z-Sortierung nicht unterstützt.
Beispiele
> SELECT TIME'10:30:00';
10:30:00
> SELECT TIME'08:15';
08:15:00
> SELECT TIME'23:59:59.123456';
23:59:59.123456
> SELECT CAST('14:30:00' AS TIME);
14:30:00
> SELECT CAST('09:15:30.5' AS TIME(3));
09:15:30.500
> SELECT current_time();
16:57:04.304361
> SELECT make_time(6, 30, 45.887);
06:30:45.887000
Verwandte Themen
-
TIMESTAMPTyp -
TIMESTAMP_NTZTyp -
DATETyp -
castFunktion -
current_timeFunktion -
make_timeFunktion -
to_timeFunktion -
try_to_timeFunktion -
time_truncFunktion -
time_diffFunktion -
time_from_secondsFunktion -
time_from_millisFunktion -
time_from_microsFunktion -
time_to_secondsFunktion -
time_to_millisFunktion -
time_to_microsFunktion