MySQL CAST() 函数

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

MySQL 中的 CAST() 函数用于将表达式中的一个值从一种数据类型转换为另一种指定的数据类型。它主要用于 WHERE、HAVING 和 JOIN 子句。此函数类似于 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 数据类型,包含固定长度的字符串。
DECIMAL它将值转换为 DECIMAL 数据类型,包含十进制字符串。
SIGNED (带符号)它将值转换为 SIGNED 数据类型,包含带符号的 64 位整数。
UNSIGNED (无符号)它将值转换为 UNSIGNED 数据类型,包含无符号的 64 位整数。
BINARY它将值转换为 BINARY 数据类型,包含二进制字符串。

语法

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

参数解释

此语法接受两个参数,将在下面讨论:

参数要求描述
表达必需这是将被转换为另一种指定数据类型的值。
数据类型必需这是需要将表达式值转换到的值或数据类型。

返回值

转换后,它将返回需要转换为数据类型的值。

MySQL 版本支持

CAST 函数支持以下 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 CAST() 函数。我们可以直接在 SELECT 语句中使用 CAST 函数。

示例 1

此语句将值转换为 DATE 数据类型。

输出

MySQL CAST() Function

示例 2

此语句将值转换为 SIGNED 数据类型。

输出

MySQL CAST() Function

示例 3

此语句将值转换为 UNSIGNED 数据类型。

输出

MySQL CAST() Function

示例 4

有时需要显式地将字符串转换为整数,请使用以下语句将值转换为 INTEGER 数据类型。

输出

MySQL CAST() Function

示例 5

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

输出

MySQL CAST() Function

示例 6

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

MySQL CAST() Function

在上表中,我们可以看到 Order_Date 是 DATE 数据类型。现在,如果我们想获取所选时间范围内的一个产品名称,请执行以下语句。在这里,字面字符串在评估 WHERE 条件之前被转换为时间戳值。

此语句将产生以下输出:

MySQL CAST() Function
下一主题MySQL convert