Typ: TIMESTAMP
Dotyczy: Databricks SQL
Databricks Runtime
Reprezentuje wartości składające się z wartości 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 jedno- lub dwucyfrowy z przedziału od 01 do 12. -
[d]d
: Jedno- lub dwucyfrowy dzień z przedziału od 01 do 31. -
h[h]
: jedna lub dwie cyfry godziny z zakresu od 00 do 23. -
m[m]
: jedno- lub dwucyfrowa liczba minut w zakresie 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 godzin, minut lub sekund nie zostaną określone, przyjmują wartość 0.
Jeśli nie określono zoneId
, domyślnie używana jest strefa czasowa sesji,
Jeśli literał nie reprezentuje odpowiedniego znacznika czasu, usługa Azure Databricks zgłasza błąd.
Uwagi
Znaczniki czasu z lokalną strefą czasową są znormalizowane wewnętrznie i utrwalane w formacie UTC. Za każdym razem, gdy wartość lub część jest wyodrębniona, strefa czasowa sesji lokalnej jest stosowana.
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