mysql 函数整理

1. 关于对数字类型的处理-- 精确函数

      a).  round(x,d) : 对数据的四舍五入,round(x)  ,其实就是round(x,0),也就是默认d为0;

            这里有个值得注意的地方是: d可以是负数,这时是指定小数点左边的d位整数位均为0,同时小数位均为0, d 的正负决定 被处理数的小数点的左右;

SELECT ROUND(90.765,2),ROUND(100,2),ROUND(0.6,2),ROUND(114.6,-1);

结果分别:90.77,100,0.6,110

     b). TRUNCATE(x,d):函数返回被舍去至小数点后d位的数字x。若d的值为0,则结果不带有小数点或不带有小数部分。

 若d设为负数,则截去(归零)x小数点左起第d位开始后面所有低位的值。 (和 round 的区别就是去掉了四舍五入)

SELECT TRUNCATE(90.3465,2),TRUNCATE(100,2),TRUNCATE(0.6,2),TRUNCATE(114.6,-1);

结果分别:90.34,100,0.6,110

     c). FORMAT(X,D):强制保留D位小数,整数部分超过三位的时候以逗号分割,并且返回的结果是string类型(已经失去数字特征,比如变成string后就不能再排序了) , 没有的用0补充

SELECT FORMAT(100.3465,2),FORMAT(100,2),FORMAT(,100.6,2);

结果分别:100.35,100.00,100.60

     d).  convert(value,type);类型转换,相当于截取

        type:

                   二进制,同带binary前缀的效果 : BINARY    

                   字符型,可带参数 : CHAR()     

                   日期 : DATE     

                   时间: TIME     

                   日期时间型 : DATETIME     

                   浮点数 : DECIMAL      

                   整数 : SIGNED     

                   无符号整数 : UNSIGNED 

SELECT CONVERT(90.3465,DECIMAL(10,2)), CONVERT(100,DECIMAL(10,2)),CONVERT(100.4,DECIMAL(10,2));

结果分别:90.35,100,100.4

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值