赞
踩
cast()是一种数据类型转换的函数,函数将任何类型的值转换为具有指定类型的值,语法格式如下所示:
CAST ( expression AS data_type)
expression:任何有效的MySQL表达式或者一些字符串数据。
AS:用于分隔两个参数,在AS之前的是要处理的数据,AS之后是要转换的数据类型。
data_type:系统所提供的数据类型,这里不能使用用户定义的数据类型。MySQL所能使用的可以是以下类型之一:
CHAR(字符型)、DATE(日期)、TIME(时间)、DATETIME(日期时间型)、DECIMAL(浮点数 float)、SIGNED(整数 int)。
value | 描述 |
---|---|
DATE | 日期,格式为 'YYYY-MM-DD'. |
DATETIME | 日期加具体的时间,格式为 'YYYY-MM-DD HH:MM:SS'. |
TIME | 时间,格式为 'HH:MM:SS'. |
CHAR | 字符型 |
SIGNED | int |
UNSIGNED | 无符号int |
BINARY | 二进制型 |
DECIMAL | float型 |
通过CAST()函数把一个浮点数转换为decimal类型需要注意:
转化时需要定义decimal值的精度与小数位数,默认情况下精度和小数位数的默认值分别是18与0,也就是说你在语句中不定义精度和小数位数的话,结果会把小数位数去掉。会进行四舍五入哦。
使用举例:
- select cast(20.3456 as decimal(10, 2)) as num
- //结果:20.35
- select cast('2019-03-08 15:31:26' as datetime ) as date
- //结果:2019-03-08 15:31:26
- select cast('2019-03-08 15:31:26' as date ) as date
- //结果:2019-03-08
- select cast('2019-03-08 15:31:26' as time ) as date
- //结果:15:31:26
- select cast('2015-11-03 15:31:26' as char ) as date
- //结果:2019-03-08 15:31:26
例如表table1
-
- date
-
- 2015-11-03 15:31:26
-
- select cast(date as signed) as date from table1;
-
- 结果如下:
- date
- 20151103153126
-
- select cast(date as char) as date from table1;
-
- // 结果如下:
- // date
- // 2015-11-03 15:31:26
-
- select cast(date as datetime) as date from table1;
-
- // 结果如下:
- // date
- // 2015-11-03 15:31:26
-
- select cast(date as date) as date from table1;
-
- // 结果如下:
- // date
- // 2015-11-03
-
- select cast(date as time) as date from table1;
-
- // 结果如下:
- // date
- // 15:31:26
-
- // 这里date对应日期,time对应时间
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。