Typ: TIMESTAMP
Dotyczy: Databricks SQL
Databricks Runtime
Reprezentuje values obejmujące values pól roku, miesiąca, dnia, godziny, minuty i sekundy z lokalną strefą czasową sesji. Wartość znacznika czasu reprezentuje bezwzględny punkt w czasie.
Składnia
TIMESTAMP
Limity
Obsługiwany zakres sygnatur czasowych to -290308-12-21 BCE 19:59:06 GMT
+294247-01-10 CE 04:00:54 GMT
.
Literały
TIMESTAMP timestampString
timestampString
{ '[+|-]yyyy[...]' |
'[+|-]yyyy[...]-[m]m' |
'[+|-]yyyy[...]-[m]m-[d]d' |
'[+|-]yyyy[...]-[m]m-[d]d ' |
'[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
'[+|-]yyyy[..]-[m]m-[d]d[T][h]h:[m]m[:]' |
'[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
'[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us][zoneId]' }
-
+
lub-
: opcjonalny znak.-
wskazuje BCE,+
wskazuje CE (wartość domyślna). -
yyyy
: rok składający się z co najmniej czterech cyfr. -
[m]m
: miesiąc z przedziału od 01 do 12. -
[d]d
: jeden lub dwa cyfry dnia z zakresu od 01 do 31. -
h[h]
: jedna lub dwie cyfry godziny z zakresu od 00 do 23. -
m[m]
: jedna lub dwie cyfry minuty z zakresu od 00 do 59. -
s[s]
: jedna lub dwie cyfry sekundy z zakresu od 00 do 59. -
[ms][ms][ms][us][us][us]
: Maksymalnie 6 cyfr ułamkowych sekund.
zoneId
:
- Z - Strefa czasowa Zulu UTC+0
- +|-[h]h:[m]m
- Identyfikator z jednym z prefiksów UTC+, UTC-, GMT+, GMT-, UT+ lub UT-, a sufiks w formatach:
- +|-h[h]
- +|-hh[:]mm
- +|-hh:mm:ss
- +|-hhmmss
- Identyfikatory stref opartych na regionie w formularzu
<area>/<city>
, na przykładEurope/Paris
.
Jeśli składniki miesiąca lub dnia nie są określone, domyślnie mają wartość 1.
Jeśli składniki godzinowe, minutowe lub drugie nie zostaną określone jako domyślne 0.
Jeśli nie zoneId
zostanie określona wartość domyślna dla strefy czasowej sesji,
Jeśli literał nie reprezentuje odpowiedniego znacznika czasu, usługa Azure Databricks zgłasza błąd.
Uwagi
Znaczniki czasu z lokalnymi timezone są znormalizowane wewnętrznie i utrwalane w formacie UTC. Za każdym razem, gdy zostanie wyodrębniona wartość lub jej część, stosowana jest lokalna sesja timezone.
Przykłady
> SELECT TIMESTAMP'0000';
0000-01-01 00:00:00
> SELECT TIMESTAMP'2020-12-31';
2020-12-31 00:00:00
> SELECT TIMESTAMP'2021-7-1T8:43:28.123456';
2021-07-01 08:43:28.123456
> SELECT current_timezone(), TIMESTAMP'2021-7-1T8:43:28UTC+3';
America/Los_Angeles 2021-06-30 22:43:28
> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP)
1908-03-15 10:01:17
> SELECT TIMESTAMP'+10000';
+10000-01-01 00:00:00