2014-10-30 111 views
0

我的查詢是MySQL查詢奇怪的行爲值

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條記錄。

可能的原因是什麼不起作用。什麼是解決方案。在此先感謝

回答

2

您需要專門測試NULL,您不能使用數學運算符。

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

,直到你習慣了它的NULL值可奇怪的。從概念上講,NULL意味着「一個未知的未知值」,它與其他值有所不同。

+1

現在,我已經使用了'(side ='A'或side是NULL)'在哪裏條件和它正在工作 – 2014-10-30 11:44:28