1

次のSQLステートメントがあります。

AND NOT (wo.ci_cnc_date IS NOT NULL AND p.prioid != '1 - Routine')

MSDNには、「NOTを使用すると式が無効になる」と記載されています。

それが当てはまる場合、上記のステートメントは次と同等になります。

AND (wo.ci_cnc_date IS NULL AND p.prioid == '1 - Routine')   
4

3 に答える 3

5

いいえ。次のようになります。

AND (wo.ci_cnc_date IS NULL OR p.prioid == '1 - Routine')    
于 2012-05-31T20:28:31.043 に答える
4

ド・モルガンの法則:論理積と論理和を否定します。ウィキ

于 2012-05-31T20:54:14.227 に答える
3

これは次のようになります。

AND (NOT wo.ci_cnc_date IS NOT NULL OR p.prioid = '1 - Routine')

x IS NOT NULLx IS NULLは、一般的に言えば、異なる演算子であり、一方が他方の否定ではないことに注意してください。

で、とyieldPostgreSQLの両方(フィドルを参照)(1, NULL) IS NULL(1, NULL) IS NOT NULLFALSE

于 2012-05-31T21:09:46.283 に答える