今天再寫專案的時候碰到乙個問題,感覺很奇怪。
情景是這樣的
我的資料庫中的credentials_type下有三種型別的值,身份證,公司,null,在我使用credentials_type!='公司'時,只顯示credentials_type為身份證的值,為null的資料怎麼也查不出來,
後面問過大神,他是這樣說的:
使用 select * from bao_t_cust_info where credentials_type='null'
也是沒有結果的。因為oracle的演算法中:
null=null是false null is null 是true,
select * from table where credentials_type!='公司'
和
select * from table where credentials_type='身份證' or credentials_type is null
select * from table where credentials_type='身份證' or credentials_type is null並不等價。
所以在查詢有null值的資料時,盡量使用is null。感覺oracle中還是有很多坑的啊。
僅此做個筆記,以防後面再次碰到再掉坑里
oracle關於模糊查詢的問題
以前模糊查詢使用的是 like 例如 schema kmh qc select v.unitprice,v.unit,v.storage,v.stationeryname,v.stationeryid,v.modelsize,v.classname,v.classid from v wjqc sto...
oracle分頁查詢資料重複問題
在oracle分頁查詢中,我們採用類似以下所示的公認的比較高效的資料庫分頁查詢語句 effective oracle by design中有描述 眾多oracle使用者也做過測試 寫道 select from select a.rownum rn from select from table nam...
oracle的查詢 函式 效率問題
oracle資料庫分組查詢時,查詢條件只能寫聚合函式或者是分組查詢的條件,不可寫其他。select e.deptno count from emp e group by e.deptno null 很特殊 null 不等於null null 跟誰運算誰就變成null 查詢過程中 null值參加任何比...