MySQL Convert()函数

MySQL 中的 CONVERT() 函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型。MySQL 还允许它将指定值从一个字符集转换为不同的字符集。

以下是此函数可以完美运行的数据类型:

数据类型 说明
DATE 它将值转换为仅负责日期部分的 DATE 数据类型。它始终导致“YYYY-MM-DD”格式。它支持日期范围在 '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()函数 语法

以下是MySQL中CONVERT()函数的语法:

CONVERT(expression, datatype);  

或者

CONVERT(expression USING character_set);

参数说明

范围 要求 说明
expression 必需的 它是一个指定的值,将被转换为另一种特定的数据类型。
datatype 必需的 它指定了我们想要转换的所需数据类型。
character_set 必需的 它指定了我们想要转换的所需字符集。

返回值

它将返回我们要转换的数据类型或字符集的值。 

二、MySQL Convert()函数 版本支持

该功能可支持以下版本

  • 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()函数 示例一

当我们执行该语句时,它会将值转换为 DATETIME 数据类型。

SELECT CONVERT("2018-11-30", DATETIME);  

输出结果:

四、MySQL Convert()函数 示例二

当我们执行该语句时,它会将值转换为 UNSIGNED 数据类型。

SELECT CONVERT(4-7, UNSIGNED);  

输出结果:

五、MySQL Convert()函数 示例三

当我们实现该语句时,它会将值转换为 SIGNED 数据类型。

SELECT CONVERT(CONVERT(4-7, UNSIGNED), SIGNED); 

输出结果:

六、MySQL Convert()函数 示例四

当我们执行该语句时,它会将字符串值转换为 utf8mb4 字符集。

SELECT CONVERT('javatpoint' USING utf8mb4);  

输出结果:

七、MySQL Convert()函数 示例五

有时需要在不同字符集之间转换字符串。在这种情况下,我们使用以下语句进行转换:

SELECT CONVERT('javatpoint', CHAR CHARACTER SET utf8mb4);  

输出结果:

八、MySQL Convert()函数 示例六

以下语句首先将整数值转换为字符串数据类型,然后与另一个指定的字符串执行连接。

SELECT CONCAT('CONVERT Function Example ## ',CONVERT(5, CHAR));  

输出结果:

九、MySQL Convert()函数 示例七

在此示例中,我们将了解 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() 函数
我们使用CAST() 函数将一种数据类型转换为另一种数据类型。 我们使用CONVERT() 函数将一种数据类型转换为另一种数据类型。
CAST() 函数不能让我们转换字符集。 CONVERT() 函数可以用来转换字符集。
CAST() 函数是 ANSI-SQL 规范的一部分。 CONVERT() 函数不是 ANSI-SQL 规范的一部分。
CAST() 函数使用“AS”来分隔参数。 CONVERT() 函数使用“comma(,)”或“USING”来分隔参数。

热门文章

优秀文章