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