📜  MySQL CAST()函数

📅  最后修改于: 2020-11-19 02:08:16             🧑  作者: Mango

MySQL CAST()函数

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

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

Datatype Descriptions
DATE It converts the value into DATE datatype in the “YYYY-MM-DD” format. It supports the range of DATE in ‘1000-01-01’ to ‘9999-12-31’.
DATETIME It converts the value into the DATETIME data type in the “YYYY-MM-DD HH:MM:SS” format. It support the range in ‘1000-01-01 00:00:00’ to ‘9999-12-31 23:59:59’.
TIME It converts the value into TIME data type in the “HH:MM:SS” format. It supports the range of time in ‘-838:59:59’ to ‘838:59:59’.
CHAR It converts a value to the CHAR data type that contains the fixed-length string.
DECIMAL It converts a value to the DECIMAL data type that contains a decimal string.
SIGNED It converts a value to SIGNED datatype that contains the signed 64-bit integer.
UNSIGNED It converts a value to the UNSIGNED datatype that contains the unsigned 64-bit integer.
BINARY It converts a value to the BINARY data type that contains the binary string.

句法

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

CAST(expression AS datatype);

参数说明

该语法接受两个参数,下面将对其进行讨论:

Parameter Requirement Descriptions
Expression Required It is a value that will be converted into another specific datatype.
Datatype Required It is a value or data type in which the expression value needs to be converted.

返回值

转换后,它将返回一个值,该值是我们要转换的数据类型。

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);

该语句将产生以下输出: