mysql - 在MySql中,!= NULL 和 IS NOT NULL 之间有什么区别

标签 mysql isnull

当我使用 != NULLIS NOT NULL 运行选择查询时,我得到不同的结果。

    /** No results returned.*/
        SELECT *
        FROM PORT_INFO
        WHERE PORT_CODE != NULL;

   /** Results are returned.*/
    SELECT *
    FROM PORT_INFO
    WHERE PORT_CODE IS NOT NULL;
  • 在“我的表”中,PORT_CODE 列可为空。
  • 列的类型为 VARCHAR(4)。
  • MySql 版本 5.5.13 企业版。

最佳答案

来自documentation :

Because the result of any arithmetic comparison with NULL is also NULL, you cannot obtain any meaningful results from such comparisons.

所以基本上 IS NOT NULL 实际上会做你想做的事情,而 != 不会做任何有用的事情(因为它也只会返回 NULL >).

关于mysql - 在MySql中,!= NULL 和 IS NOT NULL 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225491/

相关文章:

php - 将 null 转换为字符串

python - 使用 python 仅更新空 mysql 字段

mysql - 如果参数值为空,则查询返回所有记录

mysql - mysql 中的事件调度程序不工作

Javascript 追加 onblur.value mysql

php - 从 mysql 加载 1000 个结果,等待时间为 5 分钟

mysql - WHERE 子句中的 ISNULL(value, 0) MYSQL

mysql - 如何检查给定数据是否存在于多个表中(所有表都具有相同的列)?

php - 无法在xampp中显示图像

sql - SQL查询中日期为空时如何提取最大日期