有關SQL查詢為null的資料的問題

2022-03-26 09:17:47 字數 1007 閱讀 5761

下面問題是本人在開發專案過程中碰到的問題,有些自己也不太確定是對不對的,不過測試的時候得到的答案確實和自己說的一樣,希望知道的朋友告知一聲。

直接用

sql查詢為

null

的資料的時候,用下面sql是查不出來的:

select * from orders where country <> null

select * from

orders

where country =null

select * from

orders

where country != null

下面兩條sql就可以查得出來:

//查詢country為null的資料

select * from

orders

where countryis null

//查詢country不為null的資料

select * from

orders

where country is not null

本人想法:

資料庫裡面的資料即使是null,不過因為資料庫裡面的

null

根本不是我們程式設計的那個

null,

而是dbnull型別的,所以查不出來。當然如果country是int型別的話,那麼int根本就沒

有null值,只有dbnull,所以也查不出來。

在測試上面問題的時候,還發現了乙個問題:datetime

型別的字段

用like語句查不出來。

比如說getdate是乙個datetime型別的字段,那麼下面sql語句不能查出資料來

select * from orders where getdate like '%2010-2-2%'

即使資料庫有這條資料也查不出。

自己也想不出是什麼原因,希望知道的朋友告知一聲。在此謝謝各位!

SQL語句查詢是否為空 null及null

a b c d 980515 精頂企業 簡家豪 null 980514 全欣木業 null 123 980514 迅億科技股份 簡逢浚 null 980515 聖越國際企業 null 111 表結構如上所示,要查詢c列為空的記錄的 語句不是select from table where c null...

有關SQL模糊查詢

有關sql模糊查詢 select from user where name like 三 將會把name為 張三 三腳貓 唐三藏 等等有 三 的全找出來 其中like 三 明顯多了個分號 這還能搜尋得出來麼?估計是編輯器編譯的緣故。在進行資料庫查詢時,有完整查詢和模糊查詢之分。一般模糊語句如下 se...

有關SQL模糊查詢

出處 在進行資料庫查詢時,有完整查詢和模糊查詢之分。一般模糊語句如下 select 字段 from 表 where 某欄位 like 條件 其中關於條件,sql提供了四種匹配模式 1.表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select ...