Oracle SQL查询数字是否为小数点后两位
创作时间:
作者:
@小白创作中心
Oracle SQL查询数字是否为小数点后两位
引用
1
来源
1.
https://www.cnblogs.com/jokingremarks/p/18195889
在数据库开发和维护中,有时需要判断数字的小数位数。本文将介绍如何使用Oracle SQL查询数字是否为小数点后两位,这对于处理需要精确控制小数位数的业务场景非常有帮助。
因为业务要求,需要对系统中的属性值进行更新,如果数据为小数点后三位及以上,则需要将对应的单位进行变更,并将数据同步翻倍。例如 0.001KG,要换成 1G。
我们知道INSTR可以找某个字符的位置,同样的,我们可以通过INSTR查找小数点的位置。
同时,可以使用LENGTH来确定这个数值的位数。那么就可以发现,通过相减,就可以得到小数点后的位数了。
select LENGTH(12.1235) - instr(12.1235 , '.') from dual
那么要找到小数点后三位及以上,就可以用减去的结果大于2来判断。
select count(1) from dual where (length(12.1235) - instr(12.1235 , '.')) > 2
有返回行就说明是符合的,没有返回就说明是不符合的。但是这种会有个问题,我们知道INSTR在没查到的时候会返回0,那么如果不存在小数点的大于两位数的话,同样会符合。因此要再加一个条件:
instr(12.1235,'.') > 0
来确保这个是存在小数点的。最后即:
select count(1) from dual where (length(12.1235) - instr(12.1235 , '.')) > 2 and instr(12.1235,'.') > 0
以上。
热门推荐
车出了事故怎么联系保险公司
应流集团制造的涡轮叶片首次用在国产大飞机上
如何让声音更低沉?掌握技巧、练习和工具,提升你的声音
家用车带“T”和带“L”差距有多大?懂车之人:跑一趟见分晓
泉水节,济南人的“文化生活”蓝本
Windows 10系统字体修改方法:通过注册表轻松更换系统字体
ADC药物:癌症治疗的“魔法子弹”
为什么需要定期调整项目管理绩效考核指标?
退休返聘原因有哪些
如何深入解读房地产政策,坚持房住不炒的原则?
水培系统优化指南:从水质检测到营养管理
安全用电知识:如何预防触电事故
监理和项目经理哪个大
高校智库成果评价体系新探
电脑屏幕怎么放大?把电脑屏幕放大的8种方法详解
桃胶的功效与作用:从美容养颜到健脑益智
微信聊天记录在电脑C盘的存储位置及管理方法
唐中宗上台后,武三思为何仍然得势呢?
布洛芬的副作用有哪些
摩托车新车上牌费用详解
拔蛀牙多少钱?拔蛀牙价格全解析,从乳牙到智齿费用差异大,一篇文章帮你算清楚
南京拔牙最佳医疗机构选择指南
高速行车安全指南:如何准确判断与前车的安全距离?
购房合同应明确哪些内容
笔记本清灰实战指南
血糖远程监测落地社区,“智能化”如何更“适老化”?
如何健康享受零食:挑选与食用养身小食的正确方式
福建福鼎肉片:舌尖上的山海馈赠
49人诈骗团伙:一起跨境网络犯罪案件的法律剖析
纸面石膏板吊顶施工工艺详解