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
以上。
热门推荐
女性喝藏红花的好处与坏处:功效及禁忌全解析
新疆专科大学排名名单及录取分数线(2025年参考)
极细金手镯 细金镯子一般多少克
二手房交易费用全解析:从契税到工本费,这些细节不容忽视
线路短路如何检测和解决
睡眠不足扰乱记忆力机制揭示
社科院产业蓝皮书:我国产业链优质“链主”企业梯度发展新格局初步形成
做空股票的操作技巧与风险管理
牛奶好还是奶粉好?哪种营养丰富?
网络共享打印机怎么连接?简单5步轻松搞定
多举并措 护航未成年人健康成长
48V轻混系统解析:工作原理、优缺点及购买建议
王者荣耀新英雄李信详解:12个技能的战士如何使用?
冷饮服务员签合同:法律视角下的雇佣关系与权益保障
工作期间先兆流产算工伤吗?一文详解工伤认定与赔偿标准
超全盘点:哈耶普斯麻博士申请要求
这五类人,或许应三思而后行申请“哈耶普斯麻”!
预兆你才华横溢的梦
个人开发者怎么申请鸿蒙
什么睡觉姿势能长高
春雨与夏雨:杜甫《春夜喜雨》与苏轼《六月二十七日望湖楼醉书》
明朝宫廷中的饮食文化,由简到奢的美食之路
利物浦巴黎将迎历史第6次交手,此前5次红军3胜2负战绩占上风
如何创建和运行server.js文件:从入门到实践
如何通过SSH创建和编辑文件?
吃猫肉有罪过吗?法律视角下的伦理与责任探讨
引流管拔出后洞口怎么护理
宋灭南唐之战:大军围城实力碾压之下,兵法奇谋都成了艺术
巴西专家:中巴航天合作给两国民众带来福祉
鸡蛋怎么吃营养高