当使用这样的sql:select a/b as c from table,时,会面临被零除的危险,较为简单的解决办法是:
select a/b as c from table where b<>0;
但这样会使读出的数据集比期望的少,经常会造成错误。
应该的解决方法是:
select case when b=0 then NULL else a/b end as c from table
以前不知道还有case这种好语句存在,以后写sql的时候要方便多了
当使用这样的sql:select a/b as c from table,时,会面临被零除的危险,较为简单的解决办法是:
select a/b as c from table where b<>0;
但这样会使读出的数据集比期望的少,经常会造成错误。
应该的解决方法是:
select case when b=0 then NULL else a/b end as c from table
以前不知道还有case这种好语句存在,以后写sql的时候要方便多了