mysql 中不等於過濾 null 的問題(同時比較等於,大於和小於)


在寫 SQL 條件語句是經常用到 不等於‘!=’的篩選條件,此時要注意此條件會將字段為 null 的數據也當做滿足不等於的條件而將數據篩選掉。

1、原始數據和表結構

CREATE TABLE `test01` (
  `ID` bigint(18) NOT NULL AUTO_INCREMENT,
  `NUM` bigint(18) DEFAULT NULL COMMENT 'NUM',
  `NAME` varchar(250) DEFAULT NULL COMMENT '名稱',
  `created` datetime DEFAULT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

數據:

2、測試SQL 和結果

測試結果

3、可以發現:

  • 不等於:會過濾為空(特別注意);
  • 等於:精確匹配沒問題
  • 大於等於:空不會大於,沒問題
  • 小於等於:空也會小於(要注意)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM