MySQL Convert() 函数

2025年3月17日 | 阅读 3 分钟

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它将值转换为 UNSIGNED 数据类型,这是一种无符号 64 位整数。
DECIMAL它将值转换为 DECIMAL 数据类型,这是一种十进制字符串。
BINARY它将值转换为 BINARY 数据类型,这是一种二进制字符串。

语法

以下是 [MySQL](mysql-tutorial) 中 **CONVERT()** 函数的语法:

参数解释

此语法接受以下参数,下面将进行讨论:

参数要求描述
表达式必需这是一个将被转换为另一种特定数据类型的值。
datatype必需指定我们想要转换到的目标数据类型。
character_set必需指定我们想要转换为的目标字符集。

返回值

它将返回一个值,该值是我们想要转换到的数据类型或字符集。

MySQL 版本支持

此函数支持以下 [版本](mysql-versions):

  • 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 数据类型。

输出

MySQL Convert() Function

示例 2

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

输出

MySQL Convert() Function

示例 3

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

输出

MySQL Convert() Function

示例 4

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

输出

MySQL Convert() Function

示例 5

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

输出

MySQL Convert() Function

示例 6

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

输出

MySQL Convert() Function

示例 7

在此示例中,我们将看到 CONVERT 函数如何与表一起使用。让我们先创建一个名为“**Orders**”的表,其中包含以下数据:

MySQL Convert() Function

在上表中,**Order_Date** 是 DATE 数据类型。因此,如果我们要获取选定时间范围内的产品名称,请执行以下语句:

我们将得到以下输出

MySQL Convert() Function

CAST 和 CONVERT 函数的区别

CAST 函数和 CONVERT 函数之间的主要区别在下表中进行了总结:

序号CAST() 函数CONVERT() 函数
1.我们使用它将一种数据类型转换为另一种数据类型。我们使用它将一种数据类型转换为另一种数据类型。
2.它不允许我们转换字符集。它可用于转换字符集。
3.它是 ANSI-SQL 规范的一部分。它不是 ANSI-SQL 规范的一部分。
4.它使用“AS”来分隔参数。它使用“逗号(,)”或“USING”来分隔参数。

下一主题MySQL COALESCE()