CAST(expression AS TYPE) 函数可以将任何类型的值转换为具有指定类型的值,利用该函数可以直接在数据库层处理部分因数据类型引起的问题。
以下为该函数支持的数据类型
支持的 TYPE 类型 | 描述 |
---|---|
BINARY | 二进制型 |
CHAR | 字符型 |
DATE | 日期,格式为 ‘YYYY-MM-DD’ |
DATETIME | 日期加具体的时间,格式为 ‘YYYY-MM-DD HH:MM:SS’ |
TIME | 时间,格式为 ‘HH:MM:SS’ |
DECIMAL | float 型 |
SIGNED | int 型 |
UNSIGNED | 无符号int |
下面对几种转换进行示例讲解
说明:示例中的固定值可以换为实际的查询的表的字段,例如:id
1、固定值转为BINARY 二进制型
SELECT CAST( 1231 AS BINARY ) AS result
运行结果:1231
2、int类型值转为CHAR 字符型
SELECT CAST(1995 AS CHAR) as result
运行结果:"1995"
3、固定时间字符串转为DATE 日期,格式为 'YYYY-MM-DD’
SELECT CAST('2019-08-29 16:50:21' as date) as result
运行结果:2019-08-29
4、固定时间字符串转为DATETIME 日期加具体的时间,格式为 'YYYY-MM-DD HH:MM:SS’
SELECT CAST('2019-08-29 16:50:21' as DATETIME) as result
运行结果:2019-08-29 16:50:21
5、固定时间字符串转为TIME 时间,格式为 'HH:MM:SS’
SELECT CAST('2019-08-29 16:50:21' as TIME) as result
运行结果:16:50:21
6、float型值通过DECIMAL 获取精度
SELECT CAST(220.23211231 AS DECIMAL(10, 3)) AS result
运行结果:220.232
7、固定字符串转为SIGNED int 型
SELECT CAST("12321" AS SIGNED ) AS result
运行结果:12321
8、固定字符串转为UNSIGNED 无符号int
SELECT CAST("12321" AS UNSIGNED ) AS result
运行结果:12321
至此 CAST()函数的基本用法讲解完毕,该函数在实际开发中能够解决不是因数据类型引起的性能问题,如有问题欢迎留言。