Parfois, vous devrez peut-être convertir des données dans MySQL ou saisir des données de conversion dans MySQL. Voici comment convertir des données d'un type de données à un autre à l'aide de la fonction MySQL CONVERT. Il peut également être utilisé pour convertir des données d'un jeu de caractères à un autre.
Comment convertir des données dans MySQL
Voici les étapes pour convertir des données dans MySQL à l'aide de la fonction MySQL CONVERT. Voici la syntaxe de la fonction MySQL CONVERT
CONVERT(input_value, data_type)
Dans la fonction ci-dessus, vous devez fournir input_value en tant que chaîne littérale ou nom de colonne, et data_type vers lequel vous souhaitez convertir ces données. Comme MySQL CAST, vous pouvez convertir des données en types de données BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Par exemple, voici comment convertir une valeur littérale en un autre type de données
CONVERT(1, char)
et voici comment convertir une colonne (par exemple id) en un autre type de données
CONVERT(id, char)
Voici la syntaxe MySQL CONVERT pour convertir les jeux de caractères
CONVERT(input_value USING character_set)
Dans la fonction ci-dessus, vous devez fournir input_value en tant que chaîne littérale ou nom de colonne, et character_set vers lequel vous souhaitez convertir ces données.
Voici un exemple de comment caster en latin1
mysql> select convert('test string' using 'latin1'); +---------------------------------------+ | convert('test string' using 'latin1') | +---------------------------------------+ | test string | +---------------------------------------+
Lecture bonus :Comment taper Cast dans MySQL
Exemples de conversion MySQL
Regardons quelques exemples de la fonction MySQL CONVERT.
Convertir la chaîne MySQL à ce jour
Voici comment convertir une chaîne en date
mysql> select convert('2020-08-01',date); +----------------------------+ | convert('2020-08-01',date) | +----------------------------+ | 2020-08-01 | +----------------------------+
Lecture bonus :Requête de restauration MySQL
MySQL CONVERT Chaîne en décimal
Voici comment convertir une chaîne en décimal
mysql> select convert('1.234',decimal(4,3)); +-------------------------------+ | convert('1.234',decimal(4,3)) | +-------------------------------+ | 1.234 | +-------------------------------+
Lecture bonus :Comment utiliser MySQL Rollup
Convertir la chaîne MySQL en double
MySQL ne prend pas en charge la conversion en type de données double. Vous devrez convertir la chaîne en décimal.
mysql> select convert('2.134',decimal(4,3)); +-------------------------------+ | convert('2.134',decimal(4,3)) | +-------------------------------+ | 2.134 | +-------------------------------+
MySQL CONVERT String to Float
Encore une fois, MySQL ne prend pas en charge la conversion en type de données à virgule flottante. Vous devrez convertir la chaîne en décimal.
mysql> select convert('2.134',decimal(4,3)); +-------------------------------+ | convert('2.134',decimal(4,3)) | +-------------------------------+ | 2.134 | +-------------------------------+
Lecture bonus :Comment désactiver la vérification de clé étrangère dans MySQL
MySQL CONVERT Chaîne en entier
Voici un exemple pour MySQL convertir une chaîne en entier signé. Veuillez noter que vous ne pouvez convertir que des types de données entiers UNSIGNED ou SIGNED. Vous ne pouvez pas utiliser INT dans la fonction CAST.
mysql> select cast('123' as signed); +------------------------+ | cast('123' as signed) | +------------------------+ | 1 | +------------------------+
MySQL CONVERT datetime to date
Voici comment convertir datetime en date. Vous pouvez également l'utiliser pour convertir l'horodatage en date.
mysql> select convert('2020-08-01 13:00:00',date); +-------------------------------------+ | convert('2020-08-01 13:00:00',date) | +-------------------------------------+ | 2020-08-01 | +-------------------------------------+
Lecture bonus :Comment vérifier la version de MySQL
MySQL CONVERT Blob to Text
MySQL CONVERT ne prend pas en charge la conversion en type de données texte. Vous devez convertir le blog en char. Voici un exemple pour convertir un petit blob en caractère.
mysql> select convert('wewewwbwbddwg',char); +-------------------------------+ | convert('wewewwbwbddwg',char) | +-------------------------------+ | wewewwbwbddwg | +-------------------------------+
J'espère que vous pouvez maintenant facilement convertir des données dans MySQL.
Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !