Partager via


try_parse_timestamp Fonction

S’applique à :check marqué oui Databricks Runtime 18.1 et versions ultérieures

S’il expr s’agit d’une chaîne, l’analyse en fonction TIMESTAMP du premier modèle correspondant dans la liste donnée de formats, ou retourne NULL si aucun modèle ne correspond. S’il expr s’agit d’un type numérique, l’analyse en tant qu’horodatage Unix. Les retours non valides ou non correspondants exprNULL ne sont pas valides au lieu de déclencher une erreur.

Syntaxe

try_parse_timestamp(expr [, { pattern [...] } ])

Arguments

  • expr : chaîne ou valeur numérique à analyser dans un TIMESTAMP. Les types acceptés sont les suivants :
    • TINYINT, , SMALLINTINT, ,BIGINT
    • FLOAT, DOUBLE
    • DECIMAL (jusqu’à 18 précisions)
    • STRING
  • modèle : liste facultative de modèles d’horodatage ou référence à une liste prédéfinie telle que #iso8601 ou #rfc3339. Les modèles d’horodatage doivent être une chaîne constante. Si aucun modèle n’est spécifié, il équivaut à spécifier #extended. Pour obtenir la référence des symboles de modèle et la liste des listes de modèles prédéfinies, consultez Référence de modèle dans parse_timestamp la fonction.

Retours

A TIMESTAMP, ou NULL si l’analyse expr ne peut pas être analysée.

Si la expr chaîne est une chaîne et qu’aucun des modèles ne correspond, la fonction retourne NULL.

Si la expr valeur est numérique et ne peut pas être interprétée comme un horodatage Unix valide (par exemple, dépassement de capacité), la fonction retourne NULL.

Si le paramètre de format est incorrect (modèle non valide ou liste de modèles inconnu), la fonction génère toujours une erreur ; analyse uniquement les échecs sur le retour NULLde expr valeur .

Si expr c’est NULLle cas, la fonction retourne NULL.

Remarques

  • Si la liste de modèles contient des NULL valeurs, elles sont ignorées. Si tous les modèles fournis sont NULL, le résultat est NULL.
  • Si l’horodatage correspond à un modèle contenant aucune information de fuseau horaire, il est analysé dans le fuseau horaire de session.

Conditions de l’erreur

Exemples

-- Parse timestamp according to default pattern list
> SELECT try_parse_timestamp('2024-12-09T19:30:01');
 2024-12-09 19:30:01.000

-- Invalid date returns NULL
> SELECT try_parse_timestamp('2016-12-32');
 NULL

-- Bad input returns NULL instead of error
> SELECT try_parse_timestamp('bad input');
 NULL

-- Invalid pattern still raises an error (does not return NULL)
> SELECT try_parse_timestamp('2023', 'QQQQ');
 Error: INVALID_PARAMETER_VALUE.PATTERN

-- Extend the default pattern list with custom patterns
> SELECT try_parse_timestamp(col, "#extended", "dd MMM, yyyy", "MMM d; yy") FROM VALUES ('2024-12-01'), ('02 Dec, 2024'), ('DEC 3; 24') AS t(col)
 2024-12-01 00:00:00.000
 2024-12-02 00:00:00.000
 2024-12-03 00:00:00.000