Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Tipo
Aplica-se a:
Databricks SQL
Databricks Runtime 13.3 LTS e versões superiores
Representa valores que compreendem valores de campos ano, mês, dia, hora, minuto e segundo. Todas as operações são realizadas sem ter em conta qualquer fuso horário.
Este recurso está no Public Preview. Consulte a secção Notas para obter informações sobre funcionalidades não suportadas.
Para usar esse recurso no Delta Lake, você deve habilitar o suporte para a tabela. O suporte a recursos é ativado automaticamente quando se cria uma nova tabela Delta com uma coluna do tipo TIMESTAMP_NTZ. Ele não é ativado automaticamente quando você adiciona uma coluna de TIMESTAMP_NTZ tipo a uma tabela existente. Para habilitar o suporte para colunas TIMESTAMP_NTZ, o suporte para o recurso deve ser explicitamente habilitado para a tabela existente.
Ativar o suporte atualiza seu protocolo de tabela. Consulte Compatibilidade de recursos e protocolos do Delta Lake. O comando a seguir habilita esse recurso:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')
Sintaxe
TIMESTAMP [ (p) ] WITHOUT TIME ZONE | TIMESTAMP_NTZ [ (p) ]
TIMESTAMP WITHOUT TIME ZONE aplica-se ao Databricks Runtime versão 17.1 e superiores.
-
p: Uma precisão opcional de6até9, representando o número de dígitos fracionários de segundo. A predefinição é6. Especificar9para precisão em nanossegundos.
Importante
TIMESTAMP_NTZ(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 .+294247-01-10 CE 04:00:54
Note
Ao escrever para Delta ou Parquet, TIMESTAMP_NTZ(p) valores com precisão superior 6 a estão limitados aos anos de 1677 a 2262.
Literais
TIMESTAMP_NTZ 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]' }
-
+ou-: Um sinal opcional.-indica BCE,+indica CE (padrão). -
yyyy: Um ano constituído por 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 umTIMESTAMP_NTZ(9)literal.
Se os componentes de mês ou dia não forem especificados, são definidos como 1. Se os componentes de hora, minuto ou segundo não forem especificados, eles assumem o valor padrão de 0.
Se o literal não representar um carimbo de data/hora adequado, o Azure Databricks gerará um erro.
Notas
TIMESTAMP_NTZ tem as seguintes limitações:
- O suporte a Photon requer Databricks SQL ou Databricks Runtime 15.4 e superior.
- Não suportado no OpenSharing no Databricks Runtime 14.0 e inferiores.
- O
TIMESTAMP_NTZtype é suportado em fontes de ficheiro, incluindo Delta/Parquet/ORC/AVRO/JSON/CSV. No entanto, há uma limitação na inferência de esquema para arquivos JSON/CSV com colunas TIMESTAMP_NTZ. Para compatibilidade com versões anteriores, o tipo de carimbo de data/hora inferido por defeito a partir despark.read.csv(...)ouspark.read.json(...)será TIMESTAMP em vez de TIMESTAMP_NTZ.
Para usar TIMESTAMP_NTZ(9) colunas numa tabela Delta Lake existente, ative ambas as timestampNtz funcionalidades e timestampPrecision de:
ALTER TABLE table_name SET TBLPROPERTIES (
'delta.feature.timestampNtz' = 'supported',
'delta.feature.timestampPrecision' = 'supported'
)
Exemplos
> SELECT TIMESTAMP_NTZ'0000';
0000-01-01 00:00:00
> SELECT TIMESTAMP_NTZ'2020-12-31';
2020-12-31 00:00:00
> SELECT TIMESTAMP_NTZ'2021-7-1T8:43:28.123456';
2021-07-01 08:43:28.123456
> SELECT current_timezone(), CAST(TIMESTAMP '2021-7-1T8:43:28' as TIMESTAMP_NTZ);
America/Los_Angeles 2021-07-01 08:43:28
> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP_NTZ)
1908-03-15 10:01:17
> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP WITHOUT TIME ZONE)
1908-03-15 10:01:17
> SELECT '1908-03-15 10:1:17'::TIMESTAMP WITHOUT TIME ZONE)
1908-03-15 10:01:17
> SELECT TIMESTAMP_NTZ'+10000';
+10000-01-01 00:00:00
> SELECT typeof(TIMESTAMP_NTZ'2026-08-18 14:30:45.123456789');
TIMESTAMP_NTZ(9)
> SELECT CAST('2026-08-18 14:30:45.123456789' AS TIMESTAMP_NTZ(9));
2026-08-18 14:30:45.123456789
TIMESTAMP_NTZ(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.