Maison  >  Article  >  base de données  >  Comment convertir des types numériques dans MySQL

Comment convertir des types numériques dans MySQL

PHPz
PHPzoriginal
2023-04-20 10:11:552473parcourir

MySQL est un système de gestion de bases de données relationnelles populaire qui est souvent utilisé pour stocker des données structurées. Dans MySQL, les types numériques sont l'un des types de données fréquemment utilisés, mais en raison des différences de format qui peuvent exister entre les différents systèmes et sources de données, vous pouvez rencontrer des problèmes lors de la conversion des types numériques. Cet article explique comment convertir des types numériques dans MySQL.

Tout d'abord, nous devons comprendre les types de données numériques courants et leurs propriétés associées dans MySQL. Le tableau suivant répertorie les types de données numériques pris en charge par MySQL :

Type de données Description
TINYINT Entier signé de 1 octet
SMALLINT Entier signé de 2 octets
MEDIUMINT Entier signé de 3 octets
INT Entier signé de 4 octets
BIGINT Entier signé de 8 octets
FLOAT Nombre à virgule flottante simple précision
DOUBLE Double précision nombre à virgule flottante
DECIMAL Décimal à précision fixe

Dans le tableau ci-dessus, le type entier utilise respectivement 1, 2, 3, 4 et 8 octets pour stocker les données, le type à virgule flottante utilise respectivement 4 et 8 octets pour stocker les données et le type DECIMAL utilise 4 à 65 octets. Espace de stockage équivalent pour stocker les données, l'espace de stockage spécifique dépend du nombre de points décimaux défini dans la définition de la colonne.

Ensuite, nous discuterons des scénarios courants de conversion de type numérique dans MySQL :

  1. Convertir une chaîne en type numérique

Dans de nombreux cas, nous devons convertir la chaîne stockée dans la base de données en type numérique, par exemple, convertir le chaîne saisie par l'utilisateur dans un nombre puis effectuer des calculs, etc. Dans MySQL, vous pouvez convertir une chaîne en type numérique en utilisant CAST, CONVERT ou l'opérateur.

Tout d’abord, jetons un coup d’œil à l’utilisation de la fonction CAST. La fonction CAST accepte deux paramètres. Le premier paramètre est la valeur qui doit être convertie en type et le deuxième paramètre est le type de données cible qui doit être converti. Par exemple, pour convertir la chaîne « 123 » en type INT, vous pouvez utiliser l'instruction suivante :

SELECT CAST('123' AS INT);

Si la chaîne ne peut pas être convertie en type de données cible, une valeur NULL sera renvoyée.

Ensuite, examinons l'utilisation de la fonction CONVERT. La fonction CONVERT accepte également deux paramètres. Le premier paramètre est la valeur qui doit être convertie en type et le deuxième paramètre est le type de données cible qui doit être converti. Par exemple, pour convertir la chaîne '123' en type DOUBLE, vous pouvez utiliser l'instruction suivante :

SELECT CONVERT('123', DOUBLE);

Ici, le type de données cible n'est pas mis entre guillemets, mais est écrit directement dans l'instruction SQL. Si la chaîne ne peut pas être convertie en type de données cible, 0 sera renvoyé.

Enfin, examinons l'utilisation de la conversion de type à l'aide de l'opérateur. Lors de la conversion d'une chaîne en type numérique, vous pouvez ajouter la chaîne et le type de données, par exemple :

SELECT '123' + 0;

Ici, nous ajoutons la chaîne '123' au nombre 0, et MySQL convertira automatiquement la chaîne '123' en type numérique 123.

  1. Convertir le type numérique en type chaîne

Dans de nombreux cas, nous devons convertir le type numérique en type chaîne, par exemple lors de la transmission de nombres en tant que paramètres à des procédures ou fonctions stockées. Dans MySQL, les types numériques peuvent être convertis en types chaîne à l'aide des fonctions CAST ou CONVERT.

Tout d’abord, jetons un coup d’œil à l’utilisation de la fonction CAST. La fonction CAST accepte deux paramètres. Le premier paramètre est la valeur qui doit être convertie en type et le deuxième paramètre est le type de données cible qui doit être converti. Par exemple, pour convertir le nombre 123 en une chaîne de type CHAR, vous pouvez utiliser l'instruction suivante :

SELECT CAST(123 AS CHAR);

Ici, nous convertissons le nombre 123 en une chaîne de type CHAR.

Ensuite, examinons l'utilisation de la fonction CONVERT. La fonction CONVERT accepte également deux paramètres. Le premier paramètre est la valeur qui doit être convertie en type et le deuxième paramètre est le type de données cible qui doit être converti. Par exemple, pour convertir le nombre 123 en une chaîne de type CHAR, vous pouvez utiliser l'instruction suivante :

SELECT CONVERT(123, CHAR);

Ici, nous convertissons le nombre 123 en une chaîne de type CHAR.

  1. Conversion de type numérique lors de l'importation de données

Lors de l'importation de données, les données sources sont souvent stockées dans des fichiers CSV ou Excel, et les données numériques de ces fichiers sont souvent stockées sous forme de chaînes. Lors de l'importation de données dans MySQL, ces données de chaîne doivent être converties en types de données numériques pris en charge par MySQL.

Par exemple, lorsque nous utilisons la commande LOAD DATA INFILE de MySQL pour importer des données, nous pouvons utiliser la clause SET pour spécifier le type de données de chaque colonne. Par exemple, disons que nous avons un fichier appelé sample.csv qui contient les données suivantes :

"1001","John","Doe","30"
"1002","Jane","Doe","25"

Nous pouvons importer les données dans une base de données MySQL appelée sales table en utilisant la commande suivante :

LOAD DATA INFILE 'sample.csv'
INTO TABLE sales
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(@col1, @col2, @col3, @col4)
SET
    id = CAST(@col1 AS INT),
    first_name = @col2,
    last_name = @col3,
    age = CAST(@col4 AS INT)
;

Ici, nous utilisons la fonction CAST Convertir @col1 et @col4 aux nombres de type INT et insérez les valeurs dans les colonnes id et age. Puisque first_name et last_name sont des colonnes de type chaîne, nous n'avons pas besoin d'effectuer de conversion de type.

Bien sûr, en plus de la fonction CAST, nous pouvons également utiliser la fonction CONVERT ou operator pour effectuer une conversion de type numérique lors de l'importation de données.

En résumé, lorsque nous devons effectuer une conversion de type numérique dans MySQL, nous pouvons utiliser CAST, CONVERT ou operator. Lors de l'importation de données, nous pouvons également utiliser la clause SET pour spécifier le type de données de chaque colonne. En maîtrisant ces méthodes, nous pouvons être plus flexibles dans le traitement des données de type numérique et les adapter à nos besoins métiers.

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!

Déclaration:
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