- Catégories :
TRY_TO_TIME¶
Une version spéciale de TO_TIME , TIME qui effectue la même opération (c’est-à-dire convertit une expression d’entrée en heure), mais avec une prise en charge du traitement des erreurs (c’est-à-dire que si la conversion ne peut pas être effectuée, elle retourne une valeur NULL au lieu de produire une erreur).
Pour plus d’informations, voir Error-handling Conversion Functions.
- Voir aussi :
Syntaxe¶
TRY_TO_TIME( <string_expr> [, <format> ] )
TRY_TO_TIME( '<integer>' )
Arguments¶
Obligatoire :
Une des options :
string_expr
This should be a string that can be converted to a valid time.
'integer'
An expression that evaluates to a string containing an integer, for example “15000000”. Depending upon the magnitude of the string, it can be interpreted as seconds, milliseconds, microseconds, or nanoseconds. For details, see the Usage Notes below.
Note
The use of quoted integers as inputs is deprecated.
Facultatif :
format
Spécificateur de format pour
string_expr
ou AUTO. Pour plus d’informations, voir Date and Time Formats in Conversion Functions.The default is the current value of the TIME_INPUT_FORMAT session parameter (usually AUTO).
Renvoie¶
The data type of the returned value is TIME
.
Usage Notes¶
If the format of the input parameter is a string that contains an integer:
Une fois la chaîne convertie en entier, l’entier est traité comme un nombre de secondes, millisecondes, microsecondes ou nanosecondes après le début de l’epoch Unix (1970-01-01 00:00:00.000000000 UTC).
Si l’entier est inférieur à 31536000000 (le nombre de millisecondes dans une année), alors la valeur est traitée comme un nombre de secondes.
Si la valeur est supérieure ou égale à 31536000000 et inférieure à 31536000000000, la valeur est alors traitée en millisecondes.
Si la valeur est supérieure ou égale à 31536000000000 et inférieure à 31536000000000000, la valeur est alors traitée en microsecondes.
Si la valeur est supérieure ou égale à 31536000000000000, alors la valeur est traitée comme des nanosecondes.
Note
Deprecation Warning: Future versions of Snowflake might automatically interpret stringified integer values as seconds, rather than as milliseconds, microseconds, or nanoseconds. Snowflake recommends that you call TO_DATE, TO_TIME, or TO_TIMESTAMP with strings that contain integers only when those integers are intended to be interpreted as seconds.
Si plusieurs lignes sont évaluées (par exemple, si l’entrée est le nom de colonne d’une table qui contient plus d’une ligne), chaque valeur est examinée indépendamment pour déterminer si elle représente des secondes, des millisecondes, des microsecondes ou des nanosecondes.
Exemples¶
This demonstrates usage of TRY_TO_TIME
:
SELECT TRY_TO_TIME('12:30:00'), TRY_TO_TIME('Invalid'); +-------------------------+------------------------+ | TRY_TO_TIME('12:30:00') | TRY_TO_TIME('INVALID') | |-------------------------+------------------------| | 12:30:00 | NULL | +-------------------------+------------------------+