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()函数将任何类型的值转换为指定类型的值。