MYSQL中如何让字段结果精确到小数点后两位数字

MYSQL中如何让字段结果精确到小数点后两位数字,第1张

可以在建表的时候限定小数点的长度,例如decimal(5,2),后面的2就是2位的意思。

如果表已经建好,可以在查询语句中用函数 round(X,2) 转换,X为字段,后面的数字为长度,你要几位就填几。

select title , ROUND(click/charge,4)

from table

where date<'2007-7-7 00:00:00'

ROUND()是四舍五入

float本身保存的就是近似值,因为你后面有e-06这样的字符,这个其实也是数字的一部分,这么看,不管你怎么存小数位都是不够的,比如这个3.90104e-06,翻译过来应该是0.00000390194,你估计float的话要怎么写,他是8位的精度,这里来看最好就是0.0000039也就这样了,我想就算这个也不是你要的吧。

所以个人觉得办法就是换一个数据类型,最简单的就是double(我估计16位的精度应该够了吧,不过他和float一样,存一个近似值,你可以试试写成double(16,14)试试,如果还不行,那就只能用decimal了),如果还是进位,那就用decimal(65位的定点数,怎么算都够了。)

如果还不行就祭出终极大招字符型,这个总没有问题,当然如果你还要计算,那就最好别用这个。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7668996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存