Tipo TIME

Aplica-se a:visto com visto sim Databricks SQL assinalado com visto sim Databricks Runtime 18.3 e superiores

Importante

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Representa uma hora do dia composta pelos valores dos campos hora, minuto e segundo, sem fuso horário.

Syntax

TIME | TIME(p)

p: Uma precisão opcional que especifica o número de dígitos fracionários no campo dos segundos. Os valores válidos são 0 para 6. Se p for omitido, a precisão padrão é 6 (microssegundos).

Limits

O intervalo de valores de tempo suportados é 00:00:00.000000 para 23:59:59.999999.

Literais

TIME timeString

timeString
{ '[h]h:[m]m' |
  '[h]h:[m]m:[s]s' |
  '[h]h:[m]m:[s]s.[f...]' |
  '[h]h:[m]m AM|PM' |
  '[h]h:[m]m:[s]s AM|PM' |
  '[h]h:[m]m:[s]s.[f...] AM|PM' }
  • [h]h: Uma hora de um ou dois dígitos entre 00 e 23 (formato de 24 horas) ou entre 01 e 12 (formato de 12 horas com AM/PM).
  • [m]m: Um minuto de um ou dois dígitos entre 00 e 59.
  • [s]s: Um ou dois dígitos segundos entre 00 e 59.
  • [f...]: Até 6 dígitos de frações de segundo.
  • AM ou PM: Um sufixo opcional insensível a maiúsculas e maiúsculas que indica um valor de relógio de 12 horas.

O prefixo TIME não diferencia maiúsculas de minúsculas.

Se o segundo componente não for especificado, por defeito, é 0.

Se o literal não representar um tempo próprio, o Azure Databricks gera um erro.

Regras de precisão

Quando dois TIME valores com precisões diferentes são combinados (por exemplo, em COALESCE, CASE, UNION ou aritmética), o resultado usa a precisão mais ampla das duas.

Por exemplo, o tipo menos comum de TIME(3) e TIME(6) é TIME(6).

Quando se conjura um TIME valor com menor precisão, os segundos fracionados são truncados, não arredondados:

> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
  12:30:45.987

Quando se soma ou subtrai um intervalo diurno a um TIME, o resultado utiliza a precisão mais ampla TIME e a precisão fracionária do intervalo. Por exemplo, TIME(0) + INTERVAL '1.123456' SECOND retorna um TIME(6). Se o resultado ficar fora de [00:00:00, 24:00:00), Azure Databricks aumenta DATETIME_OVERFLOW.

Notes

Todas as operações sobre TIME valores são realizadas sem considerar qualquer fuso horário.

Para usar TIME colunas nas tabelas Delta Lake, o suporte é ativado automaticamente quando cria uma nova tabela Delta com uma coluna do TIME tipo. Para adicionar uma TIME coluna a uma tabela existente, deve primeiro ativar a funcionalidade:

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

O TIME tipo tem as seguintes limitações:

  • Não suportado em colunas geradas.
  • Não é suportado para índices de filtro de bloom.
  • Não é suportado para Z-Ordering.

Examples

> SELECT TIME'10:30:00';
  10:30:00

> SELECT TIME'08:15';
  08:15:00

> SELECT TIME'23:59:59.123456';
  23:59:59.123456

> SELECT CAST('14:30:00' AS TIME);
  14:30:00

> SELECT CAST('09:15:30.5' AS TIME(3));
  09:15:30.500

> SELECT current_time();
  16:57:04.304361

> SELECT make_time(6, 30, 45.887);
  06:30:45.887000