MySQL CAST Function

摘要:在本教程中,我们将向您展示如何使用MySQL CAST函数将任意类型的值转换为指定类型的值。

MySQL CAST函数简介

MySQL CAST()函数的语法如下:

CAST(expression AS TYPE);Code language: SQL (Structured Query Language) (sql)

CAST()函数将任何类型的值转换为具有指定类型的值。目标类型可以是以下任何一种类型: BINARYCHARDATEDATETIMETIMEDECIMALSIGNEDUNSIGNED

CAST()函数通常用于返回指定类型的值,以便在WHEREJOINHAVING子句中进行比较。

让我们看一下使用CAST()函数的一些示例。

MySQL CAST 函数示例

在下面的示例中,MySQL 在进行计算之前将字符串隐式转换为整数:

SELECT (1 + '1')/2;Code language: SQL (Structured Query Language) (sql)

试试看

要将字符串显式转换为整数,请使用CAST()函数,如下所示:

SELECT (1 + CAST('1' AS UNSIGNED))/2;Code language: SQL (Structured Query Language) (sql)

试试看

MySQL CAST convert string into integer

以下语句显式地将整数转换为字符串并将该字符串与另一个字符串连接:

SELECT CONCAT('MySQL CAST example #',CAST(2 AS CHAR));Code language: SQL (Structured Query Language) (sql)

试试看

MySQL CAST convert integer into string

让我们看一下示例数据库中的orders表。

Orders Table

请参阅以下查询:

SELECT orderNumber,
       requiredDate
FROM orders
WHERE requiredDate BETWEEN '2003-01-01' AND '2003-01-31';Code language: SQL (Structured Query Language) (sql)

试试看

该查询选择所需日期在 2003 年 1 月的订单。 requireDate列的数据类型是DATE ,因此,MySQL 必须将文字字符串: '2003-01-01''2003-01-31'转换为TIMESTAMP值在评估WHERE条件之前。

但是,为了安全起见,您可以使用CAST()函数将字符串显式转换为TIMESTAMP值,如下所示:

SELECT orderNumber,
       requiredDate
FROM orders
WHERE requiredDate BETWEEN  CAST('2003-01-01' AS DATETIME)
                        AND CAST('2003-01-31' AS DATETIME);Code language: SQL (Structured Query Language) (sql)

试试看

MySQL CAST 将字符串转换为日期

以下语句将DOUBLE值转换为CHAR值,并将结果用作CONCAT函数的参数:

SELECT productName,
       CONCAT('Prices(',
               CAST(buyprice AS CHAR),
               ',',
                CAST(msrp AS CHAR),
      ')') prices
FROM products;Code language: SQL (Structured Query Language) (sql)

试试看

MySQL CAST convert double into string

在本教程中,您学习了如何使用 MySQL CAST()函数将任意类型的值转换为指定类型的值。

本教程有帮助吗?