MySQL est une base de données relationnelle open source largement utilisée. Elle prend en charge une variété de types de données, notamment des entiers, des chaînes, des dates et des heures, etc. Dans les applications pratiques, nous devons souvent convertir différents types de données pour répondre à différents besoins. Cet article partagera les méthodes de conversion de types de données dans MySQL, y compris la conversion implicite et la conversion explicite.
1. Conversion implicite
La plupart des types de données dans MySQL peuvent être implicitement convertis, c'est-à-dire qu'ils sont automatiquement convertis vers le type approprié pendant les opérations. Montrons-le à travers un exemple :
Supposons que nous ayons une table de commande deorders
, qui a un champ de date deorder_date
. Si nous voulons convertir ce champ en données de caractères, nous pouvons utiliser la fonctionCAST
ouCONVERT
, comme suit :orders
订单表,其中有一个日期型字段为order_date
。如果我们要将这个字段转换为字符型数据,可以使用CAST
或CONVERT
函数,如下:
SELECT CAST(order_date AS CHAR) FROM orders; SELECT CONVERT(order_date, CHAR) FROM orders;
假设我们有一个items
商品表,其中有一个字符型字段为price
,表示商品价格。如果我们要将这个字段转换为整数型数据,可以使用CAST
或CONVERT
函数,如下:
SELECT CAST(price AS UNSIGNED) FROM items; SELECT CONVERT(price, UNSIGNED) FROM items;
二、显式转换
除了隐式转换外,MySQL也支持显式转换,即通过函数将一个数据类型转换为另一个数据类型。下面我们通过实例来演示一下:
假设我们有一个customers
顾客表,其中有一个整数型字段为cust_id
。如果我们要将这个字段转换为字符型数据,可以使用CAST
或CONVERT
函数,如下:
SELECT CAST(cust_id AS CHAR) FROM customers; SELECT CONVERT(cust_id, CHAR) FROM customers;
假设我们有一个orders
订单表,其中有一个字符型字段为order_date_str
,表示订单日期(如“2021-09-30”)。如果我们要将这个字段转换为日期型数据,可以使用STR_TO_DATE
函数,如下:
SELECT STR_TO_DATE(order_date_str, '%Y-%m-%d') FROM orders;
假设我们有一个orders
订单表,其中有一个日期型字段为order_date
。如果我们要将这个字段转换为指定格式的字符型数据,可以使用DATE_FORMAT
SELECT DATE_FORMAT(order_date, '%Y-%m-%d %H:%i:%s') FROM orders;
items
, dans laquelle se trouve un champ de caractères
price
, qui représente le prix du produit. Si nous voulons convertir ce champ en données entières, nous pouvons utiliser la fonction
CAST
ou
CONVERT
, comme suit : rrreee 2. Conversion explicite En plus de l'implicite conversion , MySQL prend également en charge la conversion explicite, c'est-à-dire la conversion d'un type de données en un autre type de données via une fonction. Montrons-le à travers un exemple : Convertir des données entières en type caractère Supposons que nous ayons une table client
customers
, qui a un champ entier de
cust_id
. Si nous voulons convertir ce champ en données de caractères, nous pouvons utiliser la fonction
CAST
ou
CONVERT
, comme suit : rrreee
orders
, dans laquelle se trouve un champ de caractères
order_date_str
, qui représente la date de la commande (comme "2021- 09-30") . Si nous voulons convertir ce champ en données de date, nous pouvons utiliser la fonction
STR_TO_DATE
, comme suit : rrreee
orders
, qui comporte un champ de date appelé
order_date
. Si nous voulons convertir ce champ en données de caractères dans un format spécifié, nous pouvons utiliser la fonction
DATE_FORMAT
, comme suit : rrreeeCe qui précède est la méthode de conversion de type de données dans MySQL, y compris la conversion implicite et conversion explicite. Dans les applications pratiques, ces méthodes doivent être utilisées de manière flexible en fonction des besoins spécifiques pour obtenir les meilleurs résultats.
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!