Parfois, vous devrez peut-être transtyper des données MySQL d'un type de données à un autre. Voici comment transtyper des données à l'aide de la fonction MySQL CAST.
Comment taper Cast dans MySQL
Nous verrons comment fonctionne MySQL CAST et comment transtyper les données à l'aide de la fonction MySQL CAST.
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 un exemple de requête SQL où nous transtypons un int en char dans la clause SELECT
mysql> select cast(1 as char) from sales;
Vous pouvez également utiliser MySQL CAST dans la clause WHERE. Ici, nous convertissons la chaîne en int dans la clause WHERE.
mysql> select * from sales where id=CAST('213' as int);
Lecture bonus :Comment utiliser MySQL Rollup Query
Exemples MySQL CAST
Examinons quelques exemples courants de la fonction MySQL CAST.
MySQL CAST comme Int
Voici un exemple pour MySQL convertir float 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(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST en décimal
Voici comment convertir en décimal
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Lecture bonus :Comment vérifier la version de MySQL
MySQL CAST comme flottant
MySQL CAST ne prend pas en charge la conversion en flottant. Vous devez convertir en décimal comme indiqué ci-dessus.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
MySQL converti en Varchar
MySQL CAST ne prend pas en charge la conversion en varchar. Vous devez lancer le personnage comme indiqué ci-dessous.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
Dateheure MySQL à ce jour
Voici comment convertir datetime à date.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
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 !