MySQL CAST函数

时间:2019-11-20 08:52:29  来源:igfitidea点击:

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

MySQL CAST函数简介

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

CAST(expression AS TYPE);

CAST()函数将任何类型的值转换为具有指定类型的值。
目标类型可以是以下任何一种:BINARY,CHAR,DATE,DATETIME,TIME,DECIMAL,SIGNED,UNSIGNED。

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

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

MySQL CAST函数示例

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

SELECT (1 + '1')/2;

要将字符串显式转换为整数,可以使用CAST()函数作为以下语句:

SELECT (1 + CAST('1' AS UNSIGNED))/2;

以下语句将整数明确转换为字符串,并将该字符串与另一个字符串连接:

SELECT CONCAT('MySQL CAST example #',CAST(2 AS CHAR));

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

请参阅以下查询:

SELECT orderNumber,
       requiredDate
FROM orders
WHERE requiredDate BETWEEN '2003-01-01' AND '2003-01-31';

该查询选择需要日期为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);

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

SELECT productName,
       CONCAT('Prices(',
               CAST(buyprice AS CHAR),
               ',',
                CAST(msrp AS CHAR),
      ')') prices
FROM products;

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