MySQL CAST()函数
MySQL中的CAST()函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型。它主要与WHERE,HAVING和JOIN子句一起使用。此函数类似于 MySQL 中的CONVERT()函数。
以下是以下数据类型该功能可以完美运行:
数据类型 |
说明 |
DATE |
它将值转换为" YYYY-MM-DD"格式的DATE数据类型。它支持DATE的范围(从" 1000-01-01"到" 9999-12-31")。 |
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数据类型。 |
语法
以下是CAST()的语法 function在MySQL中:
CAST(expression AS datatype);
参数说明
此语法接受两个参数,下面将对其进行讨论:
参数 |
要求 |
说明 |
Expression |
必需 |
它是一个将转换为另一种特定数据类型的值。 |
Datatype |
必需 |
它是需要转换表达式值的值或数据类型。 |
返回值
转换后,它将返回一个我们要转换的数据类型的值。
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()函数。我们可以直接将CAST函数与SELECT语句一起使用。
示例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);
此语句将产生以下输出: