mysql类型转换及小数点保留问题(cast函数)

在写SQL里面总会遇到数据类型的问题,这里讲一下cast的用法:

 

1、类型转换

MySQL 的CAST()函数可用来获取一个类型的值,并产生另一个类型的值

cast()函数是一个转换函数,参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。

CAST(value as type);就是CAST(xxx AS 类型)

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

  • 二进制,同带binary前缀的效果 : BINARY    
  • 字符型,可带参数 : CHAR()     
  • 日期 : DATE     
  • 时间: TIME     
  • 日期时间型 : DATETIME     
  • 浮点数 : DECIMAL      
  • 整数 : SIGNED     
  • 无符号整数 : UNSIGNED 

mysql>:

input

SELECT CONVERT('23',SIGNED);

output       23

2、保留小数

CAST()函数【和CONVERT()函数】都不能执行四舍五入或截断操作:

decimal(M,D)是一种数据类型,参数M为数字精度,精度就是总的数字位数(小数位和整数位的和),D就是要保留的小数位数。

需要注意:1)参数m<65 是总个数,d<30且 d<m 是小数位。

     2)decimal可能的最大取值范围与double 一样,但是其有效的取值范围由M 和D 的值决定。如果改变M 而固定                        D,则其取值范围将随M 的变大而变大。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy_shenzl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值