MySQL 中的 CONVERT() 函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型。 MySQL 还允许将指定值从一种字符集转换为不同的字符集。
以下是此函数完美适用的数据类型:
数据类型 | 说明 |
---|---|
DATE | 它将值转换为仅负责日期部分的 DATE 数据类型。它总是产生 "YYYY-MM-DD" 格式。它支持 '1000-01-01' 到 '9999-12-31' 中的 DATE 范围。 |
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 | 它将一个值转换为 UNSIGNED 数据类型,它具有无符号 64 位整数。 |
DECIMAL | 它将一个值转换为具有十进制字符串的 DECIMAL 数据类型。 |
BINARY | 它将值转换为具有二进制字符串的 BINARY 数据类型。 |
用法
以下是 MySQL 中 CONVERT() 函数的语法:
CONVERT(expression, datatype);
OR,
CONVERT(expression USING character_set);
参数说明
此语法接受以下参数,这些参数将在下面讨论:
参数 | 要求 | 说明 |
---|---|---|
expression | Required | 它是将被转换为另一种特定数据类型的指定值。 |
datatype | Required | 它指定了我们想要转换的所需数据类型。 |
character_set | Required | 它指定了我们想要转换的所需字符集。 |
返回值
它将返回一个我们想要转换的数据类型或字符集的值。
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() 函数。我们可以直接将 CONVERT 函数与 SELECT 语句一起使用。
例子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('javatpoint' USING utf8mb4);
输出
例 5
有时需要在不同字符集之间转换字符串。在这种情况下,我们使用以下语句进行转换:
SELECT CONVERT('javatpoint', 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" 来分隔参数。 | 它使用 "comma(,)" 或 "USING" 来分隔参数。 |
相关用法
- MySQL Count()用法及代码示例
- MySQL CHARACTER_LENGTH()用法及代码示例
- MySQL CURTIME()用法及代码示例
- MySQL CURRENT_TIME()用法及代码示例
- MySQL CONCAT()用法及代码示例
- MySQL CEILING()用法及代码示例
- MySQL CONNECTION_ID( )用法及代码示例
- MySQL CHAR_LENGTH()用法及代码示例
- MySQL COUNT()用法及代码示例
- MySQL CONVERT_TZ()用法及代码示例
- MySQL CONV( )用法及代码示例
- MySQL COT()用法及代码示例
- MySQL CONVERT( )用法及代码示例
- MySQL COALESCE( )用法及代码示例
- MySQL CAST( )用法及代码示例
- MySQL CURDATE()用法及代码示例
- MySQL COMPRESS( )用法及代码示例
- MySQL CASE()用法及代码示例
- MySQL CURRENT_TIMESTAMP()用法及代码示例
- MySQL CAST()用法及代码示例
注:本文由纯净天空筛选整理自 MySQL Convert() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。