- Catégories :
CAST , ::¶
Convertit une valeur d’un type de données en un autre type de données. La sémantique de CAST est identique à celle des fonctions de conversion TO_ datatype correspondantes. Si la conversion n’est pas possible, une erreur est générée. Pour plus de détails, voir les fonctions de conversion TO_ datatype individuelles. Pour plus d’informations sur la conversion de types de données et les fonctions de conversion TO_ datatype, voir Conversion de type de données.
L’opérateur :: fournit une syntaxe alternative pour CAST.
- Voir aussi :
Syntaxe¶
Arguments¶
source_exprExpression de tout type de données pris en charge à convertir en un type de données différent.
target_data_typeLe type de données vers lequel convertir l’expression. Si le type de données prend en charge des propriétés supplémentaires, telles que la précision et l’échelle (pour les nombres / décimales), les propriétés peuvent être incluses.
RENAME FIELDSPour des OBJECTs structurés, indique que vous souhaitez modifier l’OBJECT pour pouvoir utiliser des paires clé-valeur différentes. Les valeurs de l’objet d’origine sont copiées dans les nouvelles paires clé-valeur dans l’ordre dans lequel elles apparaissent.
Pour un exemple, voir Exemple : modification des noms de clé d’une valeur OBJECT.
ADD FIELDSPour des OBJECTs structurés, indique que vous souhaitez ajouter des paires clé-valeur à l’OBJECT.
Pour un exemple, voir Exemple : ajout de clés à une valeur OBJECT.
Les valeurs des nouvelles clés ajoutées seront définies sur NULL. Si vous souhaitez attribuer une valeur à ces clés, appelez plutôt la fonction OBJECT_INSERT.
Notes sur l’utilisation¶
Si l’échelle n’est pas suffisante pour maintenir la valeur d’entrée, la fonction arrondit la valeur.
Si la précision n’est pas suffisante pour maintenir la valeur d’entrée, la fonction signale une erreur.
Lorsque des colonnes numériques sont explicitement converties en formulaires du type de données entier pendant un déchargement de données vers des fichiers Parquet, le type de données de ces colonnes dans les fichiers Parquet est INT. Pour plus d’informations, voir Convertir explicitement les colonnes numériques en types de données Parquet.
Collation specifications aren’t retained when values are cast to text string data types (for example, VARCHAR and STRING). You can include collation specifications when you cast values (for example,
CAST(myvalue AS VARCHAR) COLLATE 'en-ai').Lorsque vous utilisez la syntaxe alternative
::, vous ne pouvez pas spécifier les argumentsRENAME FIELDSniADD FIELDS.
Exemples¶
Les exemples de CAST utilisent les données du tableau suivant :
Les exemples utilisent la fonction SYSTEM$TYPEOF pour indiquer le type de données de la valeur convertie.
Convertissez une chaîne en nombre à l’échelle spécifiée (2) :
Convertissez la même chaîne en nombre à l’échelle 5, en utilisant la notation :: :
Convertissez un nombre en entier. Pour un entier, la précision et l’échelle ne peuvent pas être spécifiées, de sorte que la valeur par défaut est toujours NUMBER(38, 0).
Convertissez un nombre en chaîne :
Convert a string to a VARCHAR value with a specified length:
If you are casting a value to the VARCHAR type with a specified length and the value exceeds that length, an error is returned:
Convertissez un horodatage en date :