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);
输出
例子2
此语句将值转换为 SIGNED 数据类型。
SELECT CAST(3-6 AS SIGNED);
输出
例子3
此语句将值转换为 UNSIGNED 数据类型。
SELECT CAST(3-6 AS UNSIGNED);
输出
示例 4
有时需要将字符串显式转换为整数,使用以下语句将值转换为 INTEGER 数据类型。
SELECT (3 + CAST('3' AS SIGNED))/2;
输出
例 5
以下语句首先将整数值转换为字符串数据类型,然后与另一个指定的字符串执行连接。
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
输出
例 6
在这个例子中,我们将看到 CAST 函数如何处理表格。让我们首先创建一个包含以下数据的表 "Orders":
在上表中,我们可以看到 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( )用法及代码示例
- MySQL CASE()用法及代码示例
- MySQL CHARACTER_LENGTH()用法及代码示例
- MySQL CURTIME()用法及代码示例
- MySQL CURRENT_TIME()用法及代码示例
- MySQL Convert()用法及代码示例
- MySQL CONCAT()用法及代码示例
- MySQL CEILING()用法及代码示例
- MySQL CONNECTION_ID( )用法及代码示例
- MySQL CHAR_LENGTH()用法及代码示例
- MySQL COUNT()用法及代码示例
- MySQL CONVERT_TZ()用法及代码示例
- MySQL CONV( )用法及代码示例
- MySQL COT()用法及代码示例
- MySQL Count()用法及代码示例
- MySQL CONVERT( )用法及代码示例
- MySQL COALESCE( )用法及代码示例
- MySQL CURDATE()用法及代码示例
- MySQL COMPRESS( )用法及代码示例
- MySQL CURRENT_TIMESTAMP()用法及代码示例
注:本文由纯净天空筛选整理自 MySQL CAST() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。