在mysql中,篩選非空的時候經常會用到is not null和!=null,這兩種方法單從字面上來看感覺是差不多的,其實如果去執行一下試試的話差別會很大!
為什麼會出現這種情況呢?
null 表示什麼也不是, 不能=、>、< … 所有的判斷,結果都是false,所有隻能用 is null進行判斷。
預設情況下,推薦使用 IS NOT NULL去判斷,因為SQL預設情況下對!= Null的判斷會永遠返回0行,但沒有語法錯誤。
如果你一定想要使用!= Null來判斷,需要加上這個語句:
set ANSI_NULLS off
這時你會發現IS NOT NULL 和 != null 是等效的
一個欄位如果設為“NULL”,表示如果這個欄位的值為空時,自動插入一個“NULL”值。
一個欄位如果設為“NOT NULL”,表示如果這個欄位的值為空時,不自動插入“NULL”值(任其無值)。
所以,設為“NULL”的意思反而是“不能無值”(由MYSQL自動賦“NULL”值),而設為“NOT NULL”是“可以無值”
MySQL中is not null和!=null和<>null的區別
相關文章
- 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的區別devNull
- undefined 和 null 區別?UndefinedNull
- null和undefined區別NullUndefined
- null 和 undefined 的區別NullUndefined
- null 和 undefined 的區別!NullUndefined
- javascrit中undefined和null的區別JavaUndefinedNull
- js中null和undefined的區別JSNullUndefined
- js中undefined和null的區別JSUndefinedNull
- mysql 空值(null)和空字元('')的區別MySqlNull字元
- NULL在oracle和mysql索引上的區別NullOracleMySql索引
- MySQL null和''分析MySqlNull
- Object.create(null) 和 {} 的區別ObjectNull
- Python中none和null的區別詳解!PythonNoneNull
- JS 的型別(null 和 undefined 的區別)JS型別NullUndefined
- MySQL中IS NULL、IS NOT NULL、!=不能用索引?胡扯!MySqlNull索引
- JavaScript中的“undefined、null”區別?JavaScriptUndefinedNull
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別
- null 和 undefinedNullUndefined
- MySQL NULLMySqlNull
- PHP7 ?? 與 ?: 的作用和區別(null合併運算子, null條件運算子)PHPNull
- Object.create(null) 和 {} 區別是什麼ObjectNull
- 隨筆:MySQL中'' ' ' NULL在Innodb儲存的區別MySqlNull
- C++中的NULL和nullptrC++Null
- 為什麼索引無法使用is null和is not null索引Null
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- 你還不知道mysql中空值和null值的區別嗎?MySqlNull
- MYSQL timestamp NOT NULL插入NULL的報錯問題MySqlNull
- JavaScript undefined與null區別JavaScriptUndefinedNull
- MySQL null值儲存,null效能影響MySqlNull
- 實習記錄day02:MySQL是有null和空的區別的MySqlNull
- Jackson中DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT和ACCEPT_EMPTY_STRING_AS_NULL_OBJECTNullObject
- dart系列之:和null說再見,null使用最佳實踐DartNull
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- SCSS Null 型別CSSNull型別
- MySQL NOT NULL列用 WHERE IS NULL 也能查到資料的原因MySqlNull
- 【NULL】Oracle null值介紹NullOracle
- mysql中null與“空值”的坑MySqlNull
- /dev/null和標準*使用devNull
- java中判斷String型別為空和null的方法Java型別Null