Funzione make_timestamp

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Crea un timestamp dai campi year, month, day, hour, min, sec, e timezone.

Sintassi

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

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

Importante

L'argomento time utilizza il TIME tipo di dato, che si trova in Beta.

Argomenti

  • year: Un'espressione che INTEGER valuta un valore da 1 a 9999.
  • month: Un'espressione che INTEGER valuta un valore da 1 (gennaio) a 12 (dicembre).
  • day: Un'espressione che INTEGER valuta un valore da 1 a 31.
  • hour: Un'espressione che INTEGER valuta un valore compreso tra 0 e 23.
  • min: Un'espressione che INTEGER valuta un valore compreso tra 0 e 59.
  • sec: espressione numerica che valuta un valore compreso tra 0 e 60.
  • date: Un'espressione che DATE indica l'anno, il mese e i campi del giorno.
  • time: Un'espressione opzionale TIME che fornisce i campi ora, minuto e secondo. L'impostazione predefinita è 00:00:00 se omessa.
  • timezone: Un'espressione opzionale STRING che valuta a un fuso orario valido, come CET o UTC.

Valori restituiti

Un oggetto TIMESTAMP.

Se un argomento è fuori limite, la funzione solleva DATETIME_FIELD_OUT_OF_BOUNDS. Usa try_make_timestamp per tornare NULL invece.

Se sec è 60, la funzione lo interpreta come 0 e aggiunge un minuto al risultato.

Se sec ha un valore frazionaria che non può essere rappresentato con precisione microseconda, Azure Databricks genera INVALID_FRACTION_OF_SECOND.

Condizioni di errore comuni

Esempi

> 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