乙個 NOT IN 引發的錯誤

2021-10-25 09:23:38 字數 432 閱讀 8748

前幾天用到 「not in」 用做條件過濾時,發現少了部分資料,後來仔細檢視資料時發現將查詢欄位為 null 狀態的記錄忽略掉了。記錄下來,以備日後總結。

例項如下:

1. 資料庫users表中存在如下記錄:

2. 查詢 email 不為 「[email protected]」 的記錄:

select * from users where email not in ('[email protected]');
發現查詢結果如下:

3. 以上查詢方式是錯誤的,應該照顧到email欄位為null的狀態情況。

select * from users where (email is null or email not in ('[email protected]'));
查詢結果如下:

ok了!

乙個equals方法引發的錯誤

今天在寫乙個狀態判斷的時候,沒有注意到其中乙個物件為short,另外乙個是基本型別int,導致雖然數值相等但是equals方法返回false,查詢short方法和equals方法後得知,大多數類都重寫了equals方法,重寫的時候一般第一步就是判斷型別是否相同,不同就返回false。所以雖然shor...

乙個拼寫錯誤引發的血案

那天我想寫乙個定時器,自然而然地想到了用協程實現,然後我寫了以下 void start ienumerable gene 然而執行程式無論如何也得不到我想要的結果,百思不得其解,遂去睡覺。聰明的你,看到問題在哪了嗎?檢查 時我重新把所有東西又輸了一遍,然後我注意到了這個 我的心情此時十分複雜。我們常...

乙個memset引發的血案

前幾天做了一道bst題,提交了幾次都是wa,今天抽空拿了出來仔細瞧瞧總算被我發現禍頭根源.總結原因還在於自己對memset不太了解,以前用對估計也是瞎貓撞見死耗子 memset的介紹 void memset void buffer,int ch,size t count buffer 指向某段記憶體...