有没有一种方法可以检查一个值是否为零,并在mysql中这样做或那样做

有没有一种方法可以检查一个值是否为零,并在mysql中这样做或那样做,mysql,sql,Mysql,Sql,我想做一个sql查询 SELECT * from members m where abs(due/30*service_charge)>='0' AND abs(due/30*service_charge)<='200' group by id 从成员m中选择*,其中abs(到期/30*服务费)>='0' 和abs(到期/30*服务费)使用case: select * from members m where abs(due/30*(case when service_c

我想做一个sql查询

    SELECT * from members m where abs(due/30*service_charge)>='0' 
AND abs(due/30*service_charge)<='200' group by id
从成员m中选择*,其中abs(到期/30*服务费)>='0'
和abs(到期/30*服务费)使用
case

select *
from members m
where abs(due/30*(case when service_charge = 0 then 1 else service_charge end) >= 0 and
      abs(due/30*(case when service_charge = 0 then 1 else service_charge end)<= 200
group by id;
另外,不要在数值常量周围使用单引号。这会让人感到困惑,并可能会让SQL优化器感到困惑。

使用
case

select *
from members m
where abs(due/30*(case when service_charge = 0 then 1 else service_charge end) >= 0 and
      abs(due/30*(case when service_charge = 0 then 1 else service_charge end)<= 200
group by id;

另外,不要在数值常量周围使用单引号。这会让人感到困惑,也会让SQL优化器感到困惑。

您能在问题中添加一些虚拟数据吗?通常他的答案在金钱上是正确的。非常感谢,第二种方法很有效。你能给你的问题添加一些虚拟数据吗?通常他的答案在金钱上是正确的。非常感谢,第二种方法奏效了