栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

sql 保留小数位数和小数点后为零不显示处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

sql 保留小数位数和小数点后为零不显示处理

SQL 小数位数处理

eg:_Table
列名:
id : 主键(自增)
name :姓名
year :年份
salary :当前年份工资

当前 _Table 表 为名字为张三、李四、王五在2022年的年薪分别为100000、130000、150000;

保留两位或多位小数

eg:现要求出每个人平均每月的工资
sql : select name,(salary / 12) monthlySalary from _Table
结果如图:
列名:name :名称
monthlySalary :平均每月工资

数据库显示小数位置过于长,此处用省略号代替;

有当前数据可明显看出,数据库计算后结果小数位数过长,没有结果处理小数位数,基本不适用于所有的业务场景和需求,我们需要对计算结果进行处理,保留对应的小数位数

需要保留两位小数时:
sql : select name,Convert(decimal(18,2),(salary / 12)) monthlySalary from _Table
结果如图:

现在的结果可以看出来,进行过小数位数处理后已经适用于绝大多数业务场景和需求,但是还是有一些场景需要小数点后为零则不显示,如果这种情况还需要在进行下一步处理;

需要保留两位小数且小数点后为零不显示:
sql : select name,Convert(FLOAT,Convert(decimal(18,2),(salary / 12))) monthlySalary from _Table
结果如图:

当前结果可以明显的看到张三和李四的平均每月的工资已经保留两位小数,而且王五的工资本来应该为12500.00 但是现在经过处理后已经为 12500

总结

保留小数位数为两位或多位:
需要用到:Convert ( decimal ( int i , int j ) , ( decimal dec ) ) 此方法
其中的参数代表的意思
i : decimal 的长度
j : 当前查询的结果需要的小数位数(保留两位就是2,三位就是3 … …)
dec :需要进行处理的数据(此数据可以用计算公式代替)

需要保留两位小数且小数点后为零不显示:
需要用到:Convert ( FLOAT , decimal dec ) 此方法
其中参数代表的意思为:
dec : 需要进行处理的数据(此处只需要是可计算数据均可以)

以上两个函数只是最基本的用法,在实际业务逻辑中可以互相嵌套使用,只要对应的参数满足条件即可。
此文为本人随笔,只有浅显说明,若有不足和错误,请评论或私信,虚心接受。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号