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
以上。
热门推荐
“城市更新+碳中和”8大案例,让居住环境更绿色、智能、健康
智慧城市基础设施建设:“多杆合一”案例分析
定义“流浪”猫——文明与荒野之间的历史书写
北京反诈女警许娜:对抗电诈是一场与犯罪分子的赛跑
水稻倒伏最好的解决方法
水稻种植如何抗倒伏
严寒环境下电动汽车续航大揭秘:使用技巧助你应对冬季挑战
盘点中国十大美食城市,广州垫底,第一实至名归,你去过几个?
基本面分析的关键指标及其投资指导意义
臂丛神经卡压和颈椎病卡压相同吗
裴氏家族的历史
黄金,跌上热搜!啥情况?金价未来怎么走?专家解读......
怎样写申请书的例子——法律实务指南与写作技巧
Tokens是什么?大模型按Tokens收费与传统方式有何不同?
张居正:明朝的“霸道总裁”,改革界的“硬核玩家”
什么是虚拟现实技术?
交强险赔偿能赔修车费吗?一文读懂交强险赔偿范围与限额
新加坡跨境电商市场:消费者行为分析与战略部署
设计中的“点”元素,是你最稳妥的基本功!
室管膜瘤在幕上和幕下哪个严重?会相互转移吗?
室管膜瘤幕上和幕下哪个严重?会扩散吗?
数字化转型如何改善客户体验
crm如何提升营业额和收入
健腹轮能减胸部脂肪吗?科学解析减脂真相
强直性脊柱炎,血沉升高代表病情加重了吗?
碘甘油和碘伏有什么区别
一张“房票”,让人才在江苏安家更安心
探秘古代一两银子与铜钱的比价
Microsoft Lists快速步骤创建指南:自动化工作流程的实用教程
谁会想玩燕云十六声?以燕云为例谈游戏开发目标玩家群体