Catégories :

Fonctions de conversion

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 du TO_ type_données correspondant. Si la conversion n’est pas possible, une erreur est générée. Pour plus de détails, voir les fonctions de conversion individuelles du TO_ type_données.

L’opérateur :: fournit une syntaxe alternative pour CAST.

Voir aussi :

TRY_CAST

Syntaxe

CAST( <source_expr> AS <target_data_type> )

<source_expr> :: <target_data_type>

Arguments

expr_source

Expression de tout type de données pris en charge à convertir en un type de données différent.

type_données_cible

Le 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 l’échelle et la précision (pour les nombres / décimales), les propriétés peuvent être incluses.

Exemples

Convertissez une chaîne contenant un nombre en nombre décimal avec la précision et l’échelle spécifiées :

SELECT CAST('1.2345' AS DECIMAL(15,2));

+---------------------------------+
| CAST('1.2345' AS DECIMAL(15,2)) |
|---------------------------------|
| 1.23                            |
+---------------------------------+

SELECT CAST('1.2345' AS DECIMAL(15,5));

+---------------------------------+
| CAST('1.2345' AS DECIMAL(15,5)) |
|---------------------------------|
| 1.23450                         |
+---------------------------------+

Convertissez un nombre en entier :

SELECT CAST(1.56 AS INTEGER);

+-----------------------+
| CAST(1.56 AS INTEGER) |
|-----------------------|
|                     2 |
+-----------------------+

Convertissez une chaîne contenant une date en un horodatage :

SELECT CAST('05-Mar-2014' AS TIMESTAMP);

+----------------------------------+
| CAST('05-MAR-2014' AS TIMESTAMP) |
|----------------------------------|
| Wed, 05 Mar 2014 00:00:00 -0800  |
+----------------------------------+