Tipo TIMESTAMP

Aplica-se a:Marque Sim Databricks SQL Marque Sim 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 [ (p) ] | TIMESTAMP_LTZ [ (p) ]
  • p: Uma precisão opcional de 6 até 9, representando o número de dígitos fracionários de segundo. A predefinição é 6. Especificar 9 para precisão em nanossegundos.

Importante

TIMESTAMP(p) com precisão 7–9 está em Beta.

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

Note

Ao escrever para Delta ou Parquet, TIMESTAMP(p) valores com precisão superior 6 a estão limitados aos anos de 1677 a 2262.

Literais

TIMESTAMP timestampString

TIMESTAMP_LTZ 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][ns][ns][ns][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][ns][ns][ns]: Até 9 dígitos de frações de segundo. Especifique exatamente nove dígitos fracionários para construir um TIMESTAMP(9) literal.

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.

Para usar TIMESTAMP(9) colunas nas tabelas Delta Lake, ative a funcionalidade de precisão de carimbo temporal:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampPrecision' = 'supported')

Ativar a funcionalidade melhora o protocolo de tabela. Os clientes que não suportam a funcionalidade não conseguem ler nem escrever a tabela. Consulte Compatibilidade de recursos e protocolos do Delta Lake.

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

> SELECT typeof(TIMESTAMP'2026-08-18 14:30:45.123456789');
  TIMESTAMP(9)

> SELECT CAST('2026-08-18 14:30:45.123456789' AS TIMESTAMP(9));
  2026-08-18 14:30:45.123456789

TIMESTAMP(9) Limitações da tabela

  • As mesas iceberg não são suportadas.
  • Colunas geradas em tabelas Delta Lake não são suportadas.
  • Colunas de agrupamento líquido nas mesas Delta Lake não são suportadas.