台灣最大程式設計社群網站
線上人數
1410
 
會員總數:244807
討論主題:188842
歡迎您免費加入會員
討論區列表 >> MS SQL >> 不等於某值而Null值未被取到
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
不等於某值而Null值未被取到
價值 : 30 QP  點閱數:610 回應數:3

樓主

小魚兒
初學者
145 247
3765 284
發送站內信

捐贈 VP 給 小魚兒
很奇怪,為什麼我下此語法(Select * From AEmail Where SendState <> '寄送成功' and rDate <= '2016/04/28';)
結果有一筆資料不會顯示出來,而查出的原因是那筆資料的 SendState 是 Null值,Null值本身又不等於'寄送成功',為何資料不會取出呢?
變成我要下-
Select * From AEmail Where (SendState <> '寄送成功' or SendState is Null ) and rDate <= '2016/04/28';
這樣這一筆資料才會出來呢?

難道是 Null 值本身不能用於判斷資料表的某個資料列嗎?

搜尋相關Tags的文章: [ Null ] ,
本篇文章發表於2016-04-28 14:47
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
NULL昰不能拿來被做比較的,
他昰一種不明的狀態,只能用is null 或 is not null

而NULL又跟空值(empty)不一樣
如果你下 where SendState =''
如果昰NULL的值,一樣不會被找出來

不知道有沒有達到你要的答案
本篇文章回覆於2016-04-28 15:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

彩虹
檢舉此回應
對了,如果你想要縮短語句的話,應該可以這樣使用
本篇文章回覆於2016-04-28 15:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

pilipala
檢舉此回應

沒有特別需求,建議欄位要設 default 值和 not null,避免 null 產生

參考資料
[SQL SERVER][Performance]重視 Null 值 (1)
[SQL SERVER][Performance]重視 Null 值 (2)
本篇文章回覆於2016-04-28 16:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.