2016-07-23 53 views
1

的情況我有2 MySQL查詢:Mysql的打破支架

SELECT * FROM table WHERE !(col1 = 'a' && col2 = 'b'); 

SELECT * FROM table WHERE col1 != 'a' AND col2 != 'b'; 

這返回不同的結果,我希望它像第二條語句(無支架) 。

任何想法的傢伙?,

在此先感謝。

回答

1

2個查詢是不同的,因此你正在獲得不同的結果。 您可以通過創建布爾表來驗證它

+0

這實在是一個評論,不是答案。有了更多的代表,[你將能夠發表評論](// stackoverflow.com/privileges/comment)。我將這個帖子標記爲刪除。 – manetsus

0

差異將是NULL值。這些都失敗=<>

你可以使用NULL安全的比較來解決這個問題,比如<=>。所以:

WHERE NOT (col1 <=> 'a' AND col2 <=> 'b');