logo

Fonction MySQL CAST()

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

Fonction MySQL CAST()

Exemple 2

Cette instruction convertit la valeur en type de données SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Sortir

Fonction MySQL CAST()

Exemple 3

Cette instruction convertit la valeur en type de données UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Sortir

Fonction MySQL CAST()

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

Fonction MySQL CAST()

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

Fonction MySQL CAST()

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 :

Fonction MySQL CAST()

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 :

Fonction MySQL CAST()