Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL CAST contre CONVERT

MySQL CAST et MySQL CONVERT vous aident tous deux à changer le type de données dans MySQL. Leurs fonctionnalités sont très similaires à quelques différences près. Voici la comparaison MySQL CAST vs CONVERT pour vous aider à décider lequel utiliser.

MySQL CAST contre CONVERTIR

Voici une comparaison étape par étape entre MySQL CAST et CONVERT.

Fonctionnalité

MySQL CAST vous permet de caster des données d'un type de données vers un autre type de données. Voici notre article détaillé sur MySQL CAST.

MySQL CONVERT vous permet également de convertir des données d'un type de données vers un autre type de données. Il vous permet également de convertir un jeu de caractères de données en un autre jeu de caractères. MySQL CAST ne peut pas être utilisé pour modifier le jeu de caractères. Voici notre article détaillé sur MySQL CONVERT.

Vous pouvez utiliser MySQL CAST ainsi que MySQL CONVERT pour convertir le type de données des littéraux ainsi que des colonnes.

Syntaxe

Voici la syntaxe de la fonction MySQL CAST

CAST(data as data_type)

MySQL CAST nécessite deux entrées - les données à transtyper et le type de données (décimal, char, etc.) vers lequel vous souhaitez convertir ces données. Vous pouvez convertir des données en types de données BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.

Vous pouvez fournir des données sous forme de valeur littérale, comme indiqué ci-dessous

CAST(1 as char)

OU

Vous pouvez donner des données sous forme de nom de colonne (par exemple, id)

CAST(id as char)

Lecture bonus :Requête de restauration MySQL

Voici la syntaxe de la fonction MySQL CONVERT

CONVERT(input_value, data_type)

Dans la fonction ci-dessus, vous devez fournir input_value comme littéral 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

convert('test string' using 'latin1')

Lecture bonus :Comment utiliser MySQL Rollup

Types de données pris en charge

MySQL CAST et MySQL CONVERT prennent en charge la conversion de données uniquement vers les types de données BINARY, CHAR, DATE, DATETIME, TIME,DECIMAL, SIGNED, UNSIGNED. Les autres types de données ne sont pas pris en charge.

Spécification SQL ANSI

MySQL CAST fait partie de la spécification ANSI SQL alors que MySQL CONVERT ne fait pas partie de la spécification ANSI SQL.

Comme mentionné précédemment, MySQL CAST et MySQL CONVERT sont similaires et peuvent être utilisés de manière interchangeable dans la plupart des cas.

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 !