Partager via


Fonction make_timestamp

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Crée un timestamp à partir des champs year, month, day, hour, min, sec et timezone.

Syntaxe

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

Arguments

  • year : expression INTEGER qui prend une valeur comprise entre 1 et 9999.
  • month : expression INTEGER qui prend une valeur comprise entre 1 (janvier) et 12 (décembre).
  • day : expression INTEGER qui prend une valeur comprise entre 1 et 31.
  • hour : expression INTEGER qui prend une valeur comprise entre 0 et 23.
  • min : expression INTEGER qui prend une valeur comprise entre 0 et 59.
  • sec : expression numérique qui prend une valeur comprise entre 0 et 60.
  • timezone : expression STRING optionnelle qui prend une valeur de chaîne de fuseau horaire valide. Par exemple : CET, UTC.

Retours

TIMESTAMP.

Dans Databricks SQL, si l’un des arguments est hors limites, le résultat est NULL. Dans Databricks Runtime, si l’un des arguments n’est pas limité, Azure Databricks déclenche DATETIME_FIELD_OUT_OF_BOUNDS sauf si spark.sql.ansi.enabled est false, auquel cas la fonction retourne NULL. Si la valeur de sec est 60, elle est interprétée comme 0 et une minute est ajoutée au résultat.

Si sec a une valeur fractionnaire qui ne peut pas être représentée en microseconde précision, Azure Databricks déclenche INVALID_FRACTION_OF_SECOND.

Conditions d’erreur courantes

Exemples

> 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