MySQL Convert()函数
MySQL中的CONVERT()函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型。 MySQL还允许它将指定的值从一个字符集转换为不同的
字符集。
以下是该函数可以正常使用的数据类型:
数据类型 |
说明 |
DATE |
它将值转换为仅负责日期部分的DATE数据类型。它始终以" YYYY-MM-DD"格式显示。它支持DATE的范围(从" 1000-01-01"到" 9999-12-31")。 |
DATETIME |
它将值转换为负责日期和时间部分的DATETIME数据类型。它始终以" YYYY-MM-DD HH: MM: SS"格式显示。它支持从" 1000-01-01 00:00:00"到" 9999-12-31 23:59:59"的范围。 |
TIME |
它将值转换为仅负责时间部分的TIME数据类型。它始终以" HH: MM: SS"格式显示。它支持'-838: 59: 59'到'838: 59: 59'的时间范围。 |
CHAR |
它将值转换为具有固定长度字符串的CHAR数据类型。 |
SIGNED |
它将值转换为SIGNED数据类型,该数据类型已签名64位整数。 |
UNSIGNED |
它将值转换为具有无符号64位整数的UNSIGNED数据类型。 |
DECIMAL |
它将值转换为具有十进制字符串的DECIMAL数据类型。 |
BINARY |
它将值转换为具有二进制字符串的BINARY数据类型。 |
语法
以下是CONVERT()函数的语法.com/mysql-tutorial"> MySQL :
CONVERT(expression, datatype);
OR,
CONVERT(expression USING character_set);
参数说明
此语法接受以下参数,将在下面进行讨论:
参数 |
要求 |
说明 |
Expression |
必需 |
这是一个将转换为另一种特定数据类型的指定值。 |
Datatype |
必需 |
它指定了我们要转换成的所需数据类型。 |
character_set |
必需 |
它指定要在其中转换的所需字符集。 |
返回值
它将返回一个我们要转换的数据类型或字符集的值。
MySQL版本支持
此功能可以支持以下版本:
MySQL 8.0
MySQL 5.7
MySQL 5.6
MySQL 5.5
MySQL 5.1
MySQL 5.0
MySQL 4.1
MySQL 4.0
通过以下示例,让我们了解MySQL CONVERT()函数。我们可以直接在SELECT语句中使用CONVERT函数。
示例1
在实现该语句时,它将把值转换为DATETIME数据类型。
SELECT CONVERT("2018-11-30", DATETIME);
输出
示例2
当我们执行该语句时,它将把值转换为UNSIGNED数据类型。
SELECT CONVERT(4-7, UNSIGNED);
输出
示例3
我们执行该语句时,会将值转换为SIGNED数据类型。
SELECT CONVERT(CONVERT(4-7, UNSIGNED), SIGNED);
输出
示例4
当我们执行该语句时,它将把字符串值转换为utf8mb4字符集。
SELECT CONVERT('lidihuo' USING utf8mb4);
输出
示例5
有时需要在不同字符集之间转换字符串。在这种情况下,我们使用以下语句进行转换:
SELECT CONVERT('lidihuo', char CHARACTER SET utf8mb4);
输出
示例6
以下语句首先将整数值转换为字符串数据类型,然后与另一个指定的字符串进行连接。
SELECT CONCAT('CONVERT Function Example ## ',CONVERT(5, CHAR));
输出
示例7
在此示例中,我们将看到CONVERT函数如何与表一起使用。让我们首先创建一个包含以下数据的表"
Orders ":
在上表中,
Order_Date 处于DATE数据类型。因此,如果要在选定的时间范围内获得产品名称,请执行以下语句。
SELECT Order_ID, Product_Name FROM orders
WHERE Order_Date
BETWEEN CONVERT('2020-02-01', DATETIME) AND CONVERT('2020-03-10', DATETIME);
我们将获得以下输出:
CAST和CONVERT函数之间的区别
CAST函数和CONVERT之间的主要区别功能总结如下表:
SN |
CAST()函数 |
CONVERT()函数 |
1、 |
我们使用它将一种数据类型转换为另一种数据类型。 |
我们使用它将一种数据类型转换为另一种数据类型。 |
2、 |
它不允许我们转换字符集。 |
它可以用来转换字符集。 |
3、 |
它是ANSI-SQL规范的一部分。 |
它不是ANSI-SQL规范的一部分。 |
4、 |
它使用" AS"来分隔参数。 |
它使用"逗号(,)"或"使用"来分隔参数。 |