Tipo TIMESTAMP_NTZ
Aplica-se a: Databricks SQL Databricks Runtime 13.3 LTS e superior
Representa values compreendendo values 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.
Esta funcionalidade está em Pré-visualização Pública. 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 o table. O suporte a recursos é ativado automaticamente ao criar um novo Delta table com um column do tipo TIMESTAMP_NTZ
. Não é ativado automaticamente quando se adiciona um column do tipo TIMESTAMP_NTZ
a um tableexistente. Para habilitar o suporte para TIMESTAMP_NTZ
columns, o suporte para o recurso deve ser explicitamente habilitado para o tableexistente.
Ativar o suporte atualiza seu protocolo table. Consulte Como o Azure Databricks gere a compatibilidade de funcionalidades do Delta Lake?. O comando a seguir habilita esse recurso:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')
Sintaxe
TIMESTAMP_NTZ
Limites
O intervalo de carimbos de data/hora suportados é -290308-12-21 BCE 19:59:06
.+294247-01-10 CE 04:00:54
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]' }
-
+
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.
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 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:
- suporte a Photon requer Databricks SQL ou Databricks Runtime 15.4 e posterior.
- Não há suporte em fontes de dados Databricks usadas no Power BI, Tableau, drivers JDBC/ODBC Databricks ou drivers de código aberto Databricks.
- Não suportado no Delta Sharing no Databricks Runtime 14.0 e inferior.
-
TIMESTAMP_NTZ
type é suportado em fontes de arquivo, incluindo Delta/Parquet/ORC/AVRO/JSON/CSV. No entanto, há uma limitação na inferência schema para arquivos JSON/CSV com TIMESTAMP_NTZ columns. Para compatibilidade com versões anteriores, o tipo de carimbo de data/hora inferido padrão de ouspark.read.csv(...)
será o tipo de carimbo despark.read.json(...)
data/hora em vez de TIMESTAMP_NTZ.
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 TIMESTAMP_NTZ'+10000';
+10000-01-01 00:00:00