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
以上。
热门推荐
吃一块压缩饼干,整天都不会饿,真的有这么抗饿吗?原理是什么?
颈动脉海绵窦瘘的特点、诊断与治疗
高端网络芯片如何处理数据包?
智能健康监测:心电图功能与多种监测数据结合的健康管理探索
深度学习优化算法学习笔记
《墨雨云间》火到国外!大家为啥都爱看爽剧?
如何在手游我的世界中使用末影之眼寻找末地地点
女人喝红枣枸杞泡水喝有什么功效
WiFi信道扫描:WiFi信道指南
水草种类及名称:常见水草种类介绍
文学缘分:贾雨村与林黛玉的师生情谊
有一种胸口刺痛非常危险,心脏发出的7个信号值得警惕
洛天依:虚拟偶像的奇幻魅力
房产项目发展前景与养老产业的结合:机遇与挑战
虐待动物的法律条款及处罚措施
8亿成本,《封神2》票房只能卖12亿,乌尔善功亏一篑,后果极其严重
大衣哥朱之文,为什么不红了?
电陶炉的使用方法与注意事项(用电陶炉烹饪前需要了解的基本常识)
血液透析的并发症及处理措施
张雪峰:新高考3+1+2选科策略全解析
形位公差标注方式详解
危机四伏!风暴中的三星电子:印度罢工与全球裁员背后的挑战
如何提高400米跑步速度(400米跑步技巧大全)
真空胎的结构和原理是什么
炒饭做法大全与独家秘方
13 款《上古卷轴 5:天际》粉丝必玩的游戏
探索自然界中的十大长寿动物,揭秘它们的惊人寿命
阿尔及利亚医药市场投资指南:需求、政策与中阿合作现状
五大联赛冠军预测:四联赛形势明朗,英超利物浦领跑
合金弹头飞机图鉴及模型展示 附各武器和载具介绍