假如数据库有表emp:

empno name   age
001      lucy      22
002      lily        null
003      lilei       null
004      lucy      null
005      pear      null
006      pear      null

当执行sql:

SELECT empno FROM `emp` where age != 22;

返回的竟然一条都没有;

结论:null值是不参与比较的, age != 22 , 所有null的那些列都被过滤去掉了.

关键时刻注意这个特性. 

 =====================

  1. 在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值  

 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/problems.html#problems-with-null

---[2016-10-26]---


丰木
322 声望19 粉丝

遇见超乎想象的自己!


« 上一篇
冒泡排序2则
下一篇 »
sendfile zero-copy