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 | 它将一个值转换为有符号64位整数的SIGNED数据类型。 |
UNSIGNED | 它将一个值转换为无符号64位整数的UNSIGNED数据类型。 |
DECIMAL | 它将一个值转换为具有十进制字符串的DECIMAL数据类型。 |
BINARY | 它将一个值转换为具有二进制字符串的BINARY数据类型。 |
语法
下面是 CONVERT() 函数在MySQL中的语法:
CONVERT(expression, datatype);
OR,
CONVERT(expression USING character_set);
参数解释
此语法接受以下参数,将在下面进行讨论:
参数 | 要求 | 描述 |
---|---|---|
expression | 必填 | 它是一个指定的值,将被转换为另一种特定的数据类型。 |
datatype | 必填 | 它指定我们要转换为的期望数据类型。 |
character_set | 必填 | 它指定我们要转换为的期望字符集。 |
返回值
它将返回一个我们想要转换的数据类型或字符集的值。
MySQL版本支持
此函数可以支持以下版本: 版本 :
让我们通过以下示例来理解MySQL Convert函数。我们可以直接在SELECT语句中使用CONVERT函数。
示例1
当我们执行该语句时,它将将值转换为DATETIME数据类型。
SELECT CONVERT("2018-11-30", DATETIME);
输出
示例2
在实施该语句时,它将会将该值转换为UNSIGNED数据类型。
SELECT CONVERT(4-7, UNSIGNED);
输出
示例3
当我们执行该语句时,它会将该值转换为有符号数据类型。
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” 来分隔参数。 | 它使用逗号(,)或 “USING” 来分隔参数。 |