Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fonction
S’applique à :
Databricks SQL
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