Función make_timestamp

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Crea una marca de tiempo a partir de los campos year, month, day, hour, min, sec y timezone.

Sintaxis

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

Argumentos

  • year: expresión INTEGER que se evalúa como un valor comprendido entre 1 y 9999.
  • month: expresión INTEGER que se evalúa como un valor comprendido entre 1 (enero) y 12 (diciembre).
  • day: expresión INTEGER que se evalúa como valor comprendido entre 1 y 31.
  • hour: expresión de enteros con valor comprendido entre el 0 y el 23.
  • min: expresión de enteros con valor comprendido entre el 0 y el 59.
  • sec: expresión numérica con valor comprendido entre el 0 y el 60.
  • timezone: expresión de cadena opcional con valor de cadena de zona horaria válida. Por ejemplo: CET, UTC.

Devoluciones

Una expresión TIMESTAMP.

En Databricks SQL, si alguno de los argumentos está fuera de los límites, el resultado es NULL. En Databricks Runtime, si alguno de los argumentos está fuera de límites, Azure Databricks genera DATETIME_FIELD_OUT_OF_BOUNDS a menos que spark.sql.ansi.enabled sea false, en cuyo caso la función devuelve NULL. Si sec es 60, se interpreta como 0 y se agrega un minuto al resultado.

Si sec tiene un valor fraccionario que no se puede representar en precisión de microsegundos, Azure Databricks genera INVALID_FRACTION_OF_SECOND.

Condiciones de error comunes

Ejemplos

> 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(2019, 13, 1, 10, 11, 12, 'PST');
 NULL
> SELECT make_timestamp(NULL, 7, 22, 15, 30, 0);
 NULL

-- In DBR with ANSI mode, out-of-bounds fields raise an error.
> SELECT make_timestamp(2024, 13, 1, 0, 0, 0);
  Error: DATETIME_FIELD_OUT_OF_BOUNDS