Fonctions de conversion¶
Cette famille de fonctions peut être utilisée pour convertir une expression de n’importe quel type de données Snowflake en un autre type de données.
Dans ce chapitre :
Liste des fonctions¶
Sous-catégorie |
Fonction |
Remarques |
---|---|---|
N’importe quel type de données |
||
Version de traitement des erreurs de CAST. |
||
Types de données texte/caractère/binaire |
||
Version de traitement des erreurs de TO_BINARY. |
||
Types de données numériques |
||
Versions de traitement des erreurs de TO_DECIMAL, TO_NUMBER, etc. |
||
Version de traitement des erreurs de TO_DOUBLE. |
||
Type de données booléennes |
||
Version de traitement des erreurs de TO_BOOLEAN. |
||
Types de données de date et d’heure |
||
Version de traitement des erreurs de TO_DATE. |
||
Version de traitement des erreurs de TO_TIME. |
||
Versions de traitement des erreurs de TO_TIMESTAMP, etc. |
||
Types de données semi-structurées |
||
Types de données géospatiales |
||
Version de traitement des erreurs de TO_GEOGRAPHY |
||
Version de traitement des erreurs de TO_GEOMETRY |
||
Fonctions de conversion de traitement des erreurs¶
Les fonctions de conversion avec un préfixe TRY_ sont des versions spéciales de leurs fonctions de conversion respectives. Ces fonctions retournent une valeur NULL au lieu de provoquer une erreur lorsque la conversion ne peut être effectuée :
Notez que ces fonctions ne prennent en charge que les expressions de chaîne (c’est-à-dire de type de données VARCHAR ou CHAR) en tant qu’entrées.
Important
Ces fonctions de conversion de traitement des erreurs sont optimisées pour les situations dans lesquelles les erreurs de conversion sont relativement peu fréquentes :
S’il n’y a pas (ou très peu) d’erreurs, elles ne devraient avoir aucune incidence visible sur les performances.
S’il y a un grand nombre d’échecs de conversion, l’utilisation de ces fonctions peut entraîner un ralentissement significatif des performances. De plus, en les utilisant avec le type VARIANT, certaines opérations peuvent entraîner une diminution des performances.
Formats numériques dans les fonctions de conversion¶
Les fonctions TO_DECIMAL , TO_NUMBER , TO_NUMERIC et TO_DOUBLE acceptent un paramètre facultatif qui spécifie le format de la chaîne d’entrée, si l’expression d’entrée correspond à une chaîne. Pour plus d’informations sur les valeurs que ce paramètre peut avoir, voir Modèles de format SQL.
Formats de date et heure dans les fonctions de conversion¶
Les fonctions suivantes vous permettent de spécifier le format de date, d’heure ou d’horodatage attendu pour analyser ou produire une chaîne :
Vous spécifiez le format dans un argument facultatif, en utilisant les éléments insensibles à la casse suivants pour décrire le format :
Élément de format |
Description |
---|---|
|
Année à quatre chiffres. |
|
Année à deux chiffres, contrôlée par le paramètre de session TWO_DIGIT_CENTURY_START , par exemple lorsqu’il est réglé sur |
|
Mois à deux chiffres (01=janvier, etc.). |
|
Nom complet ou abrégé du mois. |
|
Nom complet du mois. |
|
Jour du mois à deux chiffres (01 au 31). |
|
Jour de la semaine abrégé. |
|
Deux chiffres pour l’heure (00 à 23). Vous ne devez pas spécifier |
|
Deux chiffres pour l’heure (01 à 12). Vous pouvez spécifier |
|
Ante meridiem (am) / post meridiem (pm). À utiliser uniquement avec |
|
Deux chiffres pour la minute (00 à 59). |
|
Deux chiffres pour la seconde (00 à 59). |
|
Fractions de seconde avec une précision de 0 (secondes) à 9 (nanosecondes), par ex. |
|
Heure et minute du fuseau horaire, décalage par rapport à UTC. Peut être préfixé par un signe |
|
Année à quatre chiffres au format ISO, qui sont négatifs pour les années BCE. |
Note
Lorsqu’un format de date comprenant uniquement une date est utilisé, l’heure associée est supposée être minuit ce jour-là.
Tout ce qui se trouve dans le format entre guillemets doubles ou autre que les éléments ci-dessus est analysé/formaté sans être interprété.
Pour plus de détails sur les plages valides, le nombre de chiffres et les meilleures pratiques, voir Informations supplémentaires sur l’utilisation des formats de date, d’heure et d’horodatage.
Notes sur l’utilisation¶
Tout ce qui se trouve dans le format entre guillemets doubles ou autre que les éléments ci-dessus est analysé/formaté sans être interprété.
Exemples¶
SELECT TO_DATE('3/4/2013', 'dd/mm/yyyy');
-----------------------------------+
to_date('3/4/2013', 'dd/mm/yyyy') |
-----------------------------------+
2013-04-03 |
-----------------------------------+
SELECT TO_VARCHAR('2013-04-05'::date, 'mon dd, yyyy');
------------------------------------------------+
to_varchar('2013-04-05'::date, 'mon dd, yyyy') |
------------------------------------------------+
Apr 05, 2013 |
------------------------------------------------+
Formats binaires dans les fonctions de conversion¶
TO_CHAR , TO_VARCHAR et TO_BINARY acceptent un argument facultatif spécifiant le format attendu pour analyser ou produire une chaîne.
Le format peut être l’une des chaînes suivantes (insensible à la casse) :
HEX
BASE64
UTF-8
Pour plus d’informations sur ces formats, voir Overview of Supported Binary Formats.
Pour des exemples d’utilisation de ces formats, voir la section Exemples de Binary Input and Output.