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
以上。
热门推荐
4000年前黄河流域治水成功,大禹疏导法奠定文明基础
新抛光场景应用-钨的电场与流场协同精整抛光技术体系开发及应用进展
钨钢焊接高速钢冲头实例
钨钢板材哪种比较好?怎么判断质量?
钨钢圆棒的应用领域与性能特点
《永恒纪元》PVP最强职业揭秘:战士、弓箭手、法师、龙骑士谁主沉浮?
步数有限积分决胜,崩坏:星穹铁道消消乐玩法攻略
吃对味道能静心:五种食材帮你缓解浮躁情绪
减盐不减咸,低钠更健康
寄收快递全流程指南
柳叶刀最新研究:抗病毒药物对流感预防和治疗的新进展
咽喉有小疙瘩是怎么回事
实时监测+自动降尘:智慧系统破解工地扬尘难题
永兴县:湖南东南部的历史文化名城
双吸盘训练器+拉力绳:居家腹肌训练的完美选择
德国虐腹女王growingannanas:零器械打造完美腹肌
跟"growwithjo"学跳减脂舞,轻松练出马甲线
3分钟腹部锻炼法:在家就能练出平坦小腹
提督街:成都百年文化地标
城市1.5万公里,多尘5000公里:汽车空气滤清器更换指南
团队冲突频发?管理者教你高效应对
双皮奶制作详解:5个关键步骤做出完美奶皮
150年双皮奶传承记:从农家发明到非遗工厂
告别每日注射,胰岛素泵让糖尿病治疗更精准
华广瑞特携手专家打造“玉林经验”,引领医院血糖管理智能化转型
版权管理系统四大功能破解音乐版权保护困局
如何从生活习惯中调理咽喉炎
新疆奎屯:峡谷湖泊与博物馆,3天玩转丝路明珠
独山子大峡谷:天山脚下的徒步胜地,门票与交通全攻略
突破电子战难题,俄光纤无人机精准打击乌军目标