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
以上。
热门推荐
中国天辰:科技创新引领国企改革新典范
卫健委提醒:寒假春节期间需警惕流感传播,JN.1变异株值得关注
帕金森病早期信号要警惕,四招降低患病风险
α-突触核蛋白成帕金森病诊断新标,血液检测实现早期预警
帕金森病分类迎来革新:SynNeurGe模型助力精准诊疗
大风预警!科技助力精准预报,守护冬季安全
台风来袭,你的应急准备够了吗?
洗衣机E2故障怎么办?一文教你轻松解决排水问题
黑神话悟空存档管理:本地备份+网易UU云存档双保险
环肥燕瘦:古代审美观念的碰撞与交融
双十一后店铺布局调整指南:从陈列到营销全方位优化
国家大剧院童声合唱基地:一七一中学金帆合唱团的育人之道
健康麻花DIY:酥脆美味,营养满分!
预防中风一定要知道的8大中风饮食要点
未来6G技术在人工智能方面的应用
雪覆金顶,武当山30周年摄影展邀你捕捉“冬韵”
武当山玉虚宫将办新春游园会,这些路线可避开封闭区
武当山:道教圣地、太极拳发源地,附详细旅游攻略
50年18次移民180万人口,洪洞大槐树见证民族大迁徙
“河南人都是山西移民后代”?专家:这是个误解
冬季脾胃虚弱患者的饮食禁忌与调理方法
久坐、暴走、爬山都伤膝,专家教你这样保护
劳斯莱斯女车主推荐:当归猪心汤补心虚
王者荣耀:上官婉儿大招停顿技巧全解析
家庭群里的欢乐制造机:这些搞笑问候语让气氛瞬间活跃!
家庭群问候语,让你每天心情满分😊
双降汤:降血脂神器,你值得拥有!
红曲降脂:千年古方的现代价值
昆明至三亚自驾指南:热带雨林民族风情串珠游
小空间大变样:10个装修秘诀让家更宽敞