【问题标题】:MySQL query strange behaviour for a column containing NULL values [duplicate]MySQL查询包含NULL值的列的奇怪行为[重复]
【发布时间】:2014-10-30 11:34:45
【问题描述】:

我的查询是

SELECT partnumber, side FROM crpt_admin_orders_partnumbers
WHERE order_id = 198 AND side != 'B'

所以在侧栏中的期望值为NULL, 'A', 'B'。我需要获取所有 Null'A' 记录,但此查询未返回任何结果。

如果我跑

SELECT partnumber, side FROM crpt_admin_orders_partnumbers
WHERE order_id = 198 AND side is NULL

然后它返回 2 条记录。

这不起作用的可能原因是什么。以及解决方案是什么。提前致谢

【问题讨论】:

    标签: mysql


    【解决方案1】:

    你需要专门测试NULL,你不能使用数学运算符。

    http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html

    在您习惯之前,NULL 值可能会令人惊讶。从概念上讲,NULL 表示“缺失的未知值”,它的处理方式与其他值有些不同。

    【讨论】:

    • 现在,我在 where 条件下使用了 (side = 'A' or side is NULL),它正在工作
    猜你喜欢
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多