La fonction CAST() dans MySQL est utilisée pour convertir une valeur d'un type de données en un autre type de données spécifié dans l'expression. Il est principalement utilisé avec les clauses WHERE, HAVING et JOIN. Cette fonction est similaire à la fonction CONVERT() dans MySQL .
Voici les types de données pour lesquels cette fonction fonctionne parfaitement :
Type de données | Descriptions |
---|---|
DATE | Il convertit la valeur en type de données DATE au format « AAAA-MM-JJ ». Il prend en charge la plage de DATE comprise entre « 1000-01-01 » et « 9999-12-31 ». |
DATEHEURE | Il convertit la valeur en type de données DATETIME au format « AAAA-MM-JJ HH:MM:SS ». Il prend en charge la plage « 1000-01-01 00:00:00 » à « 9999-12-31 23:59:59 ». |
TEMPS | Il convertit la valeur en type de données TIME au format « HH:MM:SS ». Il prend en charge la plage de temps comprise entre « -838:59:59 » et « 838:59:59 ». |
CARBONISER | Il convertit une valeur en type de données CHAR qui contient la chaîne de longueur fixe. |
DÉCIMAL | Il convertit une valeur en type de données DECIMAL qui contient une chaîne décimale. |
SIGNÉ | Il convertit une valeur en type de données SIGNED qui contient l'entier signé de 64 bits. |
NON SIGNÉ | Il convertit une valeur en type de données UNSIGNED qui contient l'entier non signé de 64 bits. |
BINAIRE | Il convertit une valeur en type de données BINARY qui contient la chaîne binaire. |
Syntaxe
Voici la syntaxe de la fonction CAST() dans MySQL :
CAST(expression AS datatype);
Paramètre Explication
Cette syntaxe accepte deux paramètres, qui vont être discutés ci-dessous :
Paramètre | Exigence | Descriptions |
---|---|---|
Expression | Requis | C'est une valeur qui sera convertie en un autre type de données spécifique. |
Type de données | Requis | Il s'agit d'une valeur ou d'un type de données dans lequel la valeur de l'expression doit être convertie. |
Valeur de retour
Après la conversion, il renverra une valeur dans quel type de données nous souhaitons convertir.
Prise en charge des versions MySQL
La fonction CAST peut supporter les versions MySQL suivantes :
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Comprenons la fonction MySQL CAST() avec les exemples suivants. Nous pouvons utiliser la fonction CAST avec l'instruction SELECT directement.
Exemple 1
Cette instruction convertit la valeur en type de données DATE.
SELECT CAST('2018-11-30' AS DATE);
Sortir
Exemple 2
Cette instruction convertit la valeur en type de données SIGNED.
SELECT CAST(3-6 AS SIGNED);
Sortir
Exemple 3
Cette instruction convertit la valeur en type de données UNSIGNED.
SELECT CAST(3-6 AS UNSIGNED);
Sortir
Exemple 4
Parfois, il est nécessaire de convertir explicitement la chaîne en entier, utilisez l'instruction suivante pour convertir la valeur en type de données INTEGER.
SELECT (3 + CAST('3' AS SIGNED))/2;
Sortir
Exemple 5
L'instruction suivante convertit d'abord une valeur entière en type de données chaîne, puis effectue une concaténation avec une autre chaîne spécifiée.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Sortir
Exemple 6
Dans cet exemple, nous allons voir comment fonctionne la fonction CAST avec la table. Créons d'abord un tableau ' Ordres ' qui contient les données suivantes :
Dans le tableau ci-dessus, nous pouvons voir que Order_Date est dans le type de données DATE. Maintenant, si nous voulons obtenir un nom de produit entre des plages de temps sélectionnées, exécutez l'instruction ci-dessous. Ici, la chaîne littérale convertie en valeur d'horodatage avant d'évaluer la condition WHERE.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Cette instruction produira le résultat suivant :