任何方式我都有以下形式的查询
select
(select count(*) from sometable where somecritiea) / ((select count(*) from sometable where somecritiea) + 0.000001)
from sometable
我将计数结果除以计数结果,因此空值不是问题。
当我运行它时,我得到一个“遇到除以零错误。”。注意除数中的 +0.000001。
如果我将枚举数(?)和除数插入一个新表中,然后执行相同的计算,它会按预期工作。
select
(select count(*) from sometable where somecritiea) a/ ((select count(*) from sometable where somecritiea) + 0.000001) b
into testtable
from sometable
从测试表中选择 a/b
这将返回没有错误的预期结果。
如果我跑
select * from testtable where b = 0
i get 0 records as expected.
我真的失去了它,这是一个 5 分钟的工作,已经变成了一个 5 小时的混乱。
我也试过
select *
((select count(*) from sometable where somecritiea) + 0.000001) divisor
from sometable
where divisor = 0
这不返回任何记录。