MySQL est un système de gestion de bases de données relationnelles largement utilisé qui prend en charge une variété de types de données. Parmi eux, le type chaîne est très courant. Dans les opérations quotidiennes de base de données, il est parfois nécessaire de convertir les types de chaînes. Cet article présentera les opérations de conversion de types de chaînes couramment utilisées dans MySQL.
Les fonctions CAST et CONVERT convertissent un type de données en un autre. Leur syntaxe est très similaire, mais certains détails diffèrent. Par exemple :
CAST(expression AS type)
CONVERT(expression,type)
où expression est l'expression ou la colonne à convertir, type Type de données cible vers lequel l'expression doit être convertie. Par exemple :
SELECT CAST('123' AS UNSIGNED);
SELECT CONVERT('123',UNSIGNED);
Ces deux déclarations La fonction est la même, qui consiste à convertir la chaîne « 123 » en un type entier non signé.
MySQL prend en charge plusieurs types de chaînes :
# #2.1 Convertir le type de chaîne en type de date et d'heure Le type DATE, TIME, DATETIME est très pratique pour le stockage et le fonctionnement de la date et de l'heure. Nous pouvons utiliser la fonction STR_TO_DATE pour convertir une chaîne en un type date ou heure. Par exemple : SELECT STR_TO_DATE('2022-01-01','%Y-%m-%d'); Cette La fonction de l'instruction est de convertir la chaîne « 2022-01-01 » en type DATE. 2.2 Convertir le type de chaîne en type d'énumération Le type d'énumération est un type spécifique à MySQL qui convient à certaines plages de valeurs fixes. Nous pouvons utiliser la fonction ENUM pour convertir le type chaîne en type énumération : SELECT ENUM('green','red','blue');# #La fonction de cette instruction est de convertir la chaîne « verte » en un type d'énumération, qui est couramment utilisé pour stocker des options fixes telles que le sexe et le pays.
2.3 Convertir le type de chaîne en type binaire
Le type binaire convient au stockage de données binaires, telles que des images, de l'audio, etc.
Nous pouvons utiliser la fonction HEX pour convertir une chaîne en un type hexadécimal afin de réaliser la conversion d'une chaîne en un type binaire. Par exemple :
SELECT HEX('abc');
La fonction de cette instruction est de convertir la chaîne 'abc' en représentation de type hexadécimal.
Erreurs courantes et solutions3.1 La chaîne contient des caractères non numériques
Lorsque la chaîne contient des caractères non numériques, l'utilisation des fonctions CAST et CONVERT pour convertir la chaîne en un type numérique signalera un erreur. Vous pouvez utiliser la fonction TRIM pour supprimer les espaces d'une chaîne et la fonction REPLACE pour remplacer les caractères non numériques par des caractères nuls.
Par exemple :
SELECT CAST(REPLACE(TRIM(' 123abc '),' ','')AS UNSIGNED);
This instruction La fonction consiste à convertir la chaîne '123abc' en un type entier non signé.
3.2 Le format de date ou d'heure ne répond pas aux exigences
Le format du type de date ou d'heure doit répondre aux exigences de MySQL, sinon une erreur sera signalée. Vous pouvez utiliser la fonction STR_TO_DATE pour convertir un type de chaîne en un type de date ou d'heure cible, en spécifiant le format correct.
Par exemple :
SELECT STR_TO_DATE('20220101', '%Y%m%d');
La fonction de cette instruction est pour convertir les caractères La chaîne '20220101' est convertie en type date.
Grâce à l'introduction de cet article, nous avons découvert les méthodes courantes et les méthodes de gestion des erreurs de conversion de type de chaîne dans MySQL. Ces fonctions peuvent nous aider à effectuer rapidement et efficacement les opérations de conversion de type de chaîne et à améliorer l'efficacité des opérations de base de données.
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!