Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 WITHOUT TIME ZONE | TIMESTAMP_NTZ
TIMESTAMP WITHOUT TIME ZONE aplica-se ao Databricks Runtime versão 17.1 e superiores.
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 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]: Até 6 dígitos de frações de segundo.
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 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.
- 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.
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