Função make_timestamp

Aplica-se a:Sim (Confirmado) Databricks SQL Sim (Confirmado) Databricks Runtime

Cria um carimbo de data/hora a partir dos campos year, month, day, hour, min, sec e timezone.

Sintaxe

make_timestamp(year, month, day, hour, min, sec [, timezone] )

make_timestamp(date [, time [, timezone]] )

Importante

O time argumento utiliza o TIME tipo de dado, que está em Beta.

Argumentos

  • year: Uma expressão que INTEGER avalia para um valor de 1 a 9999.
  • month: Uma expressão que INTEGER avalia um valor de 1 (janeiro) a 12 (dezembro).
  • day: Uma expressão que INTEGER avalia um valor de 1 a 31.
  • hour: Uma expressão que INTEGER avalia um valor entre 0 e 23.
  • min: Uma expressão que INTEGER avalia um valor entre 0 e 59.
  • sec: Uma expressão numérica avaliada para um valor entre 0 e 60.
  • date: Uma expressão que DATE indica os campos do ano, mês e dia.
  • time: Uma expressão opcional TIME que fornece os campos hora, minuto e segundo. Por defeito, se 00:00:00 for omitido.
  • timezone: Uma expressão opcional STRING que avalia para um fuso horário válido, como CET ou UTC.

Devoluções

Um TIMESTAMP.

Se um argumento estiver fora de limites, a função eleva DATETIME_FIELD_OUT_OF_BOUNDS. Usa try_make_timestamp para regressar NULL .

Se sec for 60, a função interpreta-o como 0 e acrescenta um minuto ao resultado.

Se sec tiver um valor fracionário que não pode ser representado em precisão de microssegundos, Azure Databricks eleva INVALID_FRACTION_OF_SECOND.

Condições de erro comuns

Exemplos

> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887);
 2014-12-28 06:30:45.887
> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887, 'CET');
 2014-12-27 21:30:45.887
> SELECT make_timestamp(2019, 6, 30, 23, 59, 60);
 2019-07-01 00:00:00
> SELECT make_timestamp(NULL, 7, 22, 15, 30, 0);
 NULL

> SELECT make_timestamp(DATE'2014-12-28', TIME'06:30:45.887');
 2014-12-28 06:30:45.887

> SELECT make_timestamp(DATE'2014-12-28', TIME'06:30:45.887', 'CET');
 2014-12-27 21:30:45.887

> SELECT make_timestamp(DATE'2014-12-28');
 2014-12-28 00:00:00

> SELECT make_timestamp(2024, 13, 1, 0, 0, 0);
  Error: DATETIME_FIELD_OUT_OF_BOUNDS