Typ TIMESTAMP
Platí pro: Databricks SQL Databricks Runtime
Představuje hodnoty obsahující hodnoty pro rok, měsíc, den, hodinu, minutu a sekundu s místním časovým pásmem relace. Hodnota časového razítka představuje absolutní bod v čase.
Syntaxe
TIMESTAMP
Omezení
Rozsah časových razítek je -290308-12-21 BCE 19:59:06 GMT
+294247-01-10 CE 04:00:54 GMT
podporován .
Literály
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]' }
+
nebo-
: Volitelné znaménko.-
označuje BCE,+
označuje CE (výchozí).yyyy
: Rok obsahující nejméně čtyři číslice.[m]m
: Jeden nebo dva číslice měsíc mezi 01 a 12.[d]d
: Jeden nebo dva číslice den mezi 01 a 31.h[h]
: Jedna nebo dvě číslice hodina mezi 00 a 23.m[m]
: Jedna nebo dvě číslice minut mezi 00 a 59.s[s]
: Jedna nebo dvě číslice sekunda mezi 00 a 59.[ms][ms][ms][us][us][us]
: Až 6 číslic desetinných sekund.
zoneId
:
- Z - Zulu časové pásmo UTC+0
- +|-[h]h:[m]m
- ID s jednou z předpon UTC+, UTC-, GMT+, GMT-, UT+ nebo UT-, a příponou ve formátech:
- +|-h[h]
- +|-hh[:]mm
- +|-hh:mm:ss
- +|-hhmmss
- ID zón založených na oblastech ve formuláři
<area>/<city>
,Europe/Paris
například .
Pokud nejsou zadané součásti měsíce nebo dne, výchozí hodnota je 1.
Pokud není zadána hodina, minuta nebo druhá komponenta, výchozí hodnota je 0.
Pokud není zadána žádná zoneId
, výchozí hodnota je časové pásmo relace,
Pokud literál nepředstavuje správné časové razítko Azure Databricks, vyvolá chybu.
Notes
Časová razítka s místním časovým pásmem se interně normalizují a uchovávají ve standardu UTC. Při každém extrahování hodnoty nebo části relace se použije časové pásmo místní relace.
Příklady
> 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