Compartilhar via


TipoTIMESTAMP_NTZ

Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e superior

Representa valores que compõem valores de campos ano, mês, dia, hora, minuto e segundo. Todas as operações são executadas sem levar em conta nenhum fuso horário.

Esse recurso está em uma versão prévia. Confira a seção Anotações para ver os recursos sem suporte.

Para usar este recurso no Delta Lake, você deve habilitar o suporte para a tabela. O suporte a recursos é habilitado automaticamente quando você cria uma nova tabela Delta com uma coluna do tipo TIMESTAMP_NTZ. Ele não é habilitado automaticamente quando você adiciona uma coluna de tipo TIMESTAMP_NTZ a uma tabela existente. Para habilitar o suporte para colunas TIMESTAMP_NTZ, o suporte para o recurso deve estar explicitamente habilitado para a tabela existente.

Habilitar o suporte atualiza o protocolo de tabela. Confira Como o Azure Databricks gerencia a compatibilidade de recursos do Delta Lake? O comando a seguir habilita este recurso:

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

Sintaxe

TIMESTAMP_NTZ

Limites

O intervalo de carimbos de data/hora com suporte é -290308-12-21 BCE 19:59:06 a +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 a.C, + indica d.C (padrão).
  • yyyy: um ano com no mínimo quatro dígitos.
  • [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 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.

Observações

TIMESTAMP_NTZ tem as seguintes limitações:

  • O suporte ao Photon exige o Databricks Runtime 15.4 e posterior.
  • Sem suporte em fontes de dados do Databricks usadas em drivers de software livre do Power BI, Tableau, Databricks JDBC/ODBC ou Databricks.
  • Sem suporte no Compartilhamento Delta no Databricks Runtime 14.0 e versões anteriores.
  • O tipo TIMESTAMP_NTZ tem suporte em fontes de arquivo, 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 padrão de spark.read.csv(...) ou spark.read.json(...) será o tipo 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 TIMESTAMP_NTZ'+10000';
  +10000-01-01 00:00:00