SQL語句中NULL的真實含義
NULL,表示不明確、未知的列值
測試表:testnull(id varchar(32))
資料庫:Sybase ASA11.0
行資料(''), (NULL)
資料庫選項ansinull為true(也是ASA資料庫的預設選項)時,
select * from testnull where id = null
select * from testnull where id != null
結果均為空
select * from testnull where id is null
結果為(NULL)
select * from testnull where id is not null
結果為('')
當ansinull為false時,
select * from testnull where id = null
結果為(NULL)
select * from testnull where id != null
結果為('')
從上述結果來看,NULL值確實是一個有爭議的東西,但是,毫無疑問,ansinull對NULL的定義是精確的,即不能對NULL值進行等於或不等判斷,無論是等還是不等,其結果都為false.
而統一的is null, is not null的含義則顯然是明確的,NULL is null恆為真,非NULL is null恆為假。
再看看在Oracle中的結果:
SQL> select * from testnull where id is null;
ID
--------------------------------
SQL> select * from testnull where id is not null;
no rows selected
SQL> select * from testnull where id=null;
no rows selected
SQL> select * from testnull where id != null;
no rows selected
空字串''在oracle中被示為NULL值了。比較怪異。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-545036/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 語句中關於 NULL 的那些坑SQLNull
- SQL語句中聚合函式忽略NULL值的總結SQL函式Null
- sql語句中as的用法SQL
- sql語句中JOIN ON 的使用SQL
- sql語句中#{}和${}的區別SQL
- sql語句中as的用法和作用SQL
- sql語句中select……as的用法SQL
- SQL語句中exists和in的區別SQL
- SQL語句中not in 和not exist的區別SQL
- sql語句中as的意思是什麼SQL
- 在sql語句中替換Not In 的方法SQL
- sql語句中常量的處理SQL
- SQL語句中直接修改隱含引數,避免影響整個DBSQL
- 查詢語句中escape的轉義字元字元
- 總結SQL語句中的優化提示SQL優化
- MyBatis在SQL語句中取list的大小MyBatisSQL
- SQL Server中檢索語句中Like的演算法實現 (轉)SQLServer演算法
- SQL語句中SELECT語句的執行順序SQL
- MyBatis的使用三(在sql語句中傳值)MyBatisSQL
- Linux Shell 1>/dev/null 2>&1 含義LinuxdevNull
- where語句中多條件查詢欄位NULL與NOT NULL不確定性查詢Null
- T-SQL、Jet SQL、PL-SQL 的含義SQL
- MV定義語句中包含Fact的VIEW,能否Rewrite ?View
- exists子句在Sql中的含義SQL
- SQL語句中的AND和OR執行順序問題SQL
- Oracle sql 語句中帶有特殊的字元處理OracleSQL字元
- 如何自動填充SQL語句中的公共欄位SQL
- Oracle SQL 語句中正規表示式的應用OracleSQL
- sql語句中較為重要的查詢邏輯SQL
- SQL語句中的單引號與雙引號SQL
- Python 提取出SQL語句中Where的值的方法PythonSQL
- C語言EOF含義C語言
- oracle 對於SQL語句中物件名的解析順序OracleSQL物件
- sql語句中where一定要放在group by 之前SQL
- SQL語句中不同的連線JOIN及SQL中join的各種用法SQL
- Databricks 第9篇:Spark SQL 基礎(資料型別、NULL語義)SparkSQL資料型別Null
- Oracle的語句中的提示Oracle
- List Incarnation 語法含義