在寫 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、可以發現:
- 不等於:會過濾為空(特別注意);
- 等於:精確匹配沒問題
- 大於等於:空不會大於,沒問題
- 小於等於:空也會小於(要注意)。