有表table,字段vdef1(varchar類型,默認值是'~'),字段vdef2(number類型)
需求是:將表table中vdef2-vdef1=0的所有信息查詢出來
我的思路是:
select * from table where vdef2-vdef1=0;
但是會報錯,因為vdef1的默認值是“~”,所以要把這個默認值替換成0才能計算。但是不會寫SQL,所以求助各位大神
問題是:怎麼寫這條語句?怎麼寫這條語句?怎麼寫這條語句?
select * from table where decode(vdef2,'~',0,vdef2) - vdef1 = 0--如果vdf2的值為~,則decode的最後結果是0,否則就是vdef2
如果好使,可以查一下decode函數,現在基本用case when 來替代decode了