为什么在MySQL中SELECT IF(null=null, 'true', 'false');
返回false
但为什么SELECT IF(1=1, 'true', 'false');
返回true
?
答案 0 :(得分:1)
NULL
是一个未知值的占位符。由于未知,因此无法将其与其他值进行比较,即使使用NULL
也是如此。
每次在查询中遇到NULL
时都读“未知”,这样会更有意义。
关于MySQL,NULL
的行为记录在案:https://dev.mysql.com/doc/refman/5.7/en/working-with-null.html