Maison > base de données > tutoriel mysql > Comment convertir des données de caractères dans MySQL en nombres

Comment convertir des données de caractères dans MySQL en nombres

PHPz
Libérer: 2023-04-20 11:23:38
original
5961 Les gens l'ont consulté

MySQL est actuellement le système de gestion de bases de données relationnelles le plus couramment utilisé et l'une des technologies de bases de données back-end les plus couramment utilisées par les développeurs de sites Web. Lorsque nous utilisons une base de données MySQL, si nous souhaitons effectuer des calculs numériques sur une certaine colonne de données du tableau, nous devons généralement la convertir au format numérique. Cet article explique comment convertir des données de caractères dans MySQL en nombres.

  1. Utilisation de la fonction CAST

CAST est une fonction de MySQL qui est utilisée pour convertir les valeurs d'un certain type de données en d'autres types de données. Voici un exemple de conversion d'une chaîne de caractères en entier :

SELECT CAST('123' AS SIGNED INTEGER);
Copier après la connexion

Convertissez la chaîne de caractères '123' en nombre entier 123 en ajoutant AS SIGNED INTEGER. Si vous souhaitez convertir une chaîne de caractères en nombre à virgule flottante, vous pouvez utiliser l'instruction suivante :

SELECT CAST('123.45' AS DECIMAL(10,2));
Copier après la connexion

Dans la fonction DECIMAL, 10 est le nombre total de chiffres du nombre et 2 est le nombre de chiffres décimaux. De cette façon, la chaîne de caractères '123,45' est convertie en un nombre à virgule flottante 123,45.

  1. Utilisation de la fonction CONVERT

La fonction CONVERT est également une fonction de MySQL qui peut convertir les valeurs d'un certain type de données en d'autres types de données. Voici un exemple de conversion d'une chaîne de caractères en entier :

SELECT CONVERT('123', SIGNED INTEGER);
Copier après la connexion

Convertissez la chaîne de caractères '123' en nombre entier 123 en ajoutant SIGNED INTEGER. Si vous souhaitez convertir une chaîne de caractères en nombre à virgule flottante, vous pouvez utiliser l'instruction suivante :

SELECT CONVERT('123.45', DECIMAL(10,2));
Copier après la connexion

Dans la fonction DECIMAL, 10 est le nombre total de chiffres du nombre et 2 est le nombre de chiffres décimaux. De cette façon, la chaîne de caractères '123,45' est convertie en un nombre à virgule flottante 123,45.

  1. Utiliser le code ASCII

Le code ASCII est une méthode de codage de caractères utilisée en interne par les ordinateurs. Chaque caractère correspond à une valeur numérique. Dans MySQL, nous pouvons utiliser le code ASCII pour convertir des chaînes de types de caractères en types numériques. Voici un exemple de conversion d'une chaîne de caractères en nombre entier :

SELECT ASCII('2')-48;
Copier après la connexion

Convertissez la chaîne de caractères '2' en nombre entier 2. Étant donné que la valeur du code du nombre 0 dans le code ASCII est 48, la soustraction de 48 peut obtenir la valeur réelle du nombre.

Cette méthode peut également être utilisée pour convertir des chaînes à plusieurs chiffres en nombres. Par exemple, convertissez la chaîne de caractères « 123 » en nombre entier 123 :

SELECT (ASCII('1')-48)*100 + (ASCII('2')-48)*10 + (ASCII('3')-48);
Copier après la connexion

Les trois méthodes ci-dessus peuvent convertir les données de caractères dans MySQL en nombres. Choisissez simplement la méthode appropriée en fonction de la situation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal