ではWHERE
、SQLクエリの句私は、これら2つの条件が同じ振る舞いを持つことを期待します:
NOT (a=1 AND b=1)
対
a<>1 AND b<>1
最初の条件は期待どおりに動作し、2番目の条件を実行して同じことを行いますが、そうではありません。
これは非常に基本的なことですが、恥ずかしいことに、私が間違っていることを見ることができません。
サンプルデータと期待される結果と実際の結果を投稿できますか?
—
ガレスライオンズ
Lenardの答えで述べたように、これはDe Morganルールの例です:not(A and B)=(not not A)or(not not B)、not(A or B)=(not A)and(not B)。NULL値には注意してください。
—
バランカ
英語で考えてみてください。あなたの最初は「私がフランスの王であり、人間であるということではありません」-非常に真実です。あなたの2番目は「私はフランスの王でも人間でもありません」-非常に間違っています。
—
パトリックスティーブンス
これは「De Morganの法則」と矛盾しています。同等のものはになります
—
ウィレムヴァンOnsem
a <> 1 OR b<>1
。