MySQLConvert()函数
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数据类型。 |
以下是 MySQL 中 CONVERT()函数的语法:
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('learnfk' USING utf8mb4);
输出

例子5
有时需要在不同字符集之间转换字符串。在这种情况下,无涯教程使用以下语句进行转换:
SELECT CONVERT('learnfk', 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函数之间的主要区别:
| CAST()函数 | CONVERT()函数 |
|---|---|
| 使用它将一种数据类型转换为另一种数据类型。 | 使用它将一种数据类型转换为另一种数据类型。 |
| 它不允许转换字符集。 | 它可以用来转换字符集。 |
| 它是ANSI-SQL规范的一部分。 | 它不是ANSI-SQL规范的一部分。 |
| 它使用" AS"来分隔参数。 | 它使用"逗号(,)"或"使用"来分隔参数。 |
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者