当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL CAST()用法及代码示例


MySQL 中的 CAST() 函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型。它主要与 WHERE、HAVING 和 JOIN 子句一起使用。这个函数类似于 MySQL 中的 CONVERT() 函数。

以下是此函数完美适用的数据类型:

数据类型 说明
DATE 它将值转换为 "YYYY-MM-DD" 格式的 DATE 数据类型。它支持 '1000-01-01' 到 '9999-12-31' 中的 DATE 范围。
DATETIME 它将值转换为“YYYY-MM-DD HH:MM:SS”格式的 DATETIME 数据类型。它支持 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' 的范围。
TIME 它将值转换为 "HH:MM:SS" 格式的 TIME 数据类型。它支持 '-838:59:59' 到 '838:59:59' 的时间范围。
CHAR 它将值转换为包含固定长度字符串的 CHAR 数据类型。
DECIMAL 它将值转换为包含十进制字符串的 DECIMAL 数据类型。
SIGNED 它将值转换为包含有符号 64 位整数的 SIGNED 数据类型。
UNSIGNED 它将值转换为包含无符号 64 位整数的 UNSIGNED 数据类型。
BINARY 它将值转换为包含二进制字符串的 BINARY 数据类型。

用法

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

CAST(expression AS datatype);

参数说明

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

参数 要求 说明
Expression Required 它是一个将被转换为另一种特定数据类型的值。
Datatype Required 它是需要转换表达式值的值或数据类型。

返回值

转换后,它会返回一个我们想要转换的数据类型的值。

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

SELECT CAST("2018-11-30" AS DATE);

输出

MySQL CAST() Function

例子2

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

SELECT CAST(3-6 AS SIGNED);

输出

MySQL CAST() Function

例子3

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

SELECT CAST(3-6 AS UNSIGNED);

输出

MySQL CAST() Function

示例 4

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

SELECT (3 + CAST('3' AS SIGNED))/2;

输出

MySQL CAST() Function

例 5

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

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

输出

MySQL CAST() Function

例 6

在这个例子中,我们将看到 CAST 函数如何处理表格。让我们首先创建一个包含以下数据的表 "Orders":

MySQL CAST() Function

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

SELECT Order_ID, Product_Name FROM Orders 
WHERE Order_Date 
BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);

该语句将产生以下输出:

MySQL CAST() Function



相关用法


注:本文由纯净天空筛选整理自 MySQL CAST() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。