MySQL CAST函数

MySQL CAST函数

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

该函数适用于以下数据类型:

数据类型 描述
DATE 它将值转换为“YYYY-MM-DD”格式的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()函数在MySQL中的语法: CAST() :

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

示例1

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

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

输出

MySQL CAST函数

例子 2

这个语句将这个值转换为有符号数据类型。

SELECT CAST(3-6 AS SIGNED);

输出

MySQL CAST函数

示例 3

该语句将值转换为无符号数据类型。

SELECT CAST(3-6 AS UNSIGNED);

输出结果

MySQL CAST函数

示例4

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

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

输出

MySQL CAST函数

示例5

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

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

输出

MySQL CAST函数

示例 6

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

MySQL CAST函数

在上表中,我们可以看到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函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程