SQL查询实现:筛选小数点后数值大于0的float类型百分比数据
筛选float类型百分比字段小数部分大于0的SQL实现
实现逻辑
只需要判断数值的小数部分是否大于0即可,考虑到float类型存在精度存储误差,建议增加极小的容错阈值避免误判。
通用SQL写法(兼容绝大多数数据库)
SELECT percent1 FROM 你的表名 WHERE percent1 - FLOOR(percent1) > 0.000001;
可选简化写法(支持取模运算的数据库如MySQL、PostgreSQL等)
SELECT percent1 FROM 你的表名 WHERE percent1 % 1 > 0.000001;
说明
FLOOR(percent1)作用是取小于等于当前数值的最大整数,用原数值减去它就能得到纯小数部分- 阈值
0.000001可根据你的实际精度要求调整,如果字段是DECIMAL固定精度类型,可直接去掉阈值写> 0 - 该写法可以完全匹配你给出的示例数据,最终返回31.4000、25.1000两条结果
内容的提问来源于stack exchange,提问作者Skuiz
相关产品推荐
相关产品推荐

