Tipo TIMESTAMP
Aplica-se a: Databricks SQL Databricks Runtime
Representa valores que compreendem valores de campos ano, mês, dia, hora, minuto e segundo, com o fuso horário local da sessão. O valor do carimbo de data/hora representa um ponto absoluto no tempo.
Sintaxe
TIMESTAMP
Limites
O intervalo de carimbos de data/hora suportados é -290308-12-21 BCE 19:59:06 GMT
.+294247-01-10 CE 04:00:54 GMT
Literais
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]' }
+
ou-
: Um sinal opcional.-
indica BCE,+
indica CE (padrão).yyyy
: Um ano com pelo menos quatro algarismos.[m]m
: Um mês de um ou dois dígitos entre 01 e 12.[d]d
: Um dia de um ou dois dígitos entre 01 e 31.h[h]
: Uma hora de um ou dois dígitos entre 00 e 23.m[m]
: Um minuto de um ou dois dígitos entre 00 e 59.s[s]
: Um segundo de um ou dois dígitos entre 00 e 59.[ms][ms][ms][us][us][us]
: Até 6 dígitos de segundos fracionados.
zoneId
:
- Z - O fuso horário Zulu UTC+0
- +|-[h]h:[m]m
- Um ID com um dos prefixos UTC+, UTC-, GMT+, GMT-, UT+ ou UT-, e um sufixo nos formatos:
- +|-h[h]
- +|-HH[:]mm
- +|-hh:mm:ss
- +|-hhmmss
- IDs de zona baseados em região no formato
<area>/<city>
, por exemplo,Europe/Paris
.
Se os componentes de mês ou dia não forem especificados, o padrão será 1.
Se os componentes hora, minuto ou segundo não forem especificados, o padrão será 0.
Se não zoneId
for especificado, o padrão será o fuso horário da sessão,
Se o literal não representar um carimbo de data/hora adequado, o Azure Databricks gerará um erro.
Notas
Os carimbos de data/hora com fuso horário local são normalizados internamente e persistem no UTC. Sempre que o valor ou uma parte dele é extraído, o fuso horário da sessão local é aplicado.
Exemplos
> 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