postgresql2つのNOTLIKE句が間違った結果を返す

ジギー

88コードのテーブルがあります。10またはで始まるコードを選択しない単純なselectステートメントを書いています18

select distinct pcl_mun from exemptions.modiv_parcels_2015 
where (pcl_mun NOT LIKE '10%') or (pcl_mun NOT LIKE '18%')
order by pcl_mun

これは機能すると思いますが、すべての結果が返されます

"0233"
"0242"
"1001"
"1002"
"1003"
"1004"
"1005"
"1006"
"1012"
"1013"
"1014"
"1015"
"1018"
"1019"
"1020"
"1024"
"1025"
"1401"
"1402"
"1403"
"1406"
"1407"
"1408"
"1409"
"1412"
"1413"
"1414"
"1415"
"1418"
"1419"
"1420"
"1421"
"1422"
"1423"
"1424"
"1425"
"1426"
"1427"
"1428"
"1429"
"1431"
"1432"
"1433"
"1434"
"1435"
"1436"
"1437"
"1438"
"1439"
"1601"
"1609"
"1611"
"1613"
"1615"
"1801"
"1802"
"1803"
"1807"
"1815"
"1904"
"1906"
"1908"
"1909"
"1911"
"1912"
"1916"
"1918"
"1919"
"1922"
"2101"
"2102"
"2103"
"2105"
"2106"
"2107"
"2108"
"2110"
"2111"
"2112"
"2114"
"2115"
"2116"
"2117"
"2119"
"2120"
"2121"
"2122"
"2123"

これらのような句を1つずつ実行すると、正しい結果が返されます。私はここで何が間違っているのですか?

LukStorms

組み合わせるNOT LIKE場合ANDは、代わりに使用する必要がありますOR

select distinct pcl_mun 
from exemptions.modiv_parcels_2015 
where pcl_mun NOT LIKE '10%' 
  AND pcl_mun NOT LIKE '18%'
order by pcl_mun

それは時々混乱する可能性のある論理的なことです。

簡略化された例:

('18' NOT LIKE '10%') OR ('18' NOT LIKE '18%')  --> true OR false --> true
('18' NOT LIKE '10%') AND ('18' NOT LIKE '18%')  --> true AND false --> FALSE

('14' NOT LIKE '10%') OR ('14' NOT LIKE '18%')  --> true OR true --> TRUE
('14' NOT LIKE '10%') AND ('14' NOT LIKE '18%')  --> true AND true --> TRUE

LIKE'の組み合わせを否定する場合は異なるためです。
次に、OR代わりに使用する必要があります。

NOT ('18' LIKE '10%' OR '18' LIKE '18%')  --> NOT(false OR true) --> FALSE
NOT ('18' LIKE '10%' AND '18' LIKE '18%')  --> NOT(false AND true) --> true

NOT ('14' LIKE '10%' OR '14' LIKE '18%')  --> NOT(false OR false) --> TRUE
NOT ('14' LIKE '10%' AND '14' LIKE '18%')  --> NOT(false AND false) --> TRUE

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

分類Dev

Elasticsearchクエリの結果が間違った結果を返す

分類Dev

HAVING 句のある SQL COUNT が間違った結果を生成する

分類Dev

間違った結果を返すSQL

分類Dev

WHERE句で<>(等しくない)を使用すると、MySQLクエリが間違った結果を返す

分類Dev

間違った結果を示す2つの日付の違い

分類Dev

クエリが間違った結果を返すのはなぜですか?

分類Dev

If条件が間違った結果を返すのはなぜですか?

分類Dev

Scipy stdDevが間違った結果を返すのはなぜですか?

分類Dev

統計が間違った結果を返すのはなぜですか?

分類Dev

なぜslice :: binary_searchが間違った結果を返すのですか?

分類Dev

複数のクエリを含むMongoDBfindOneが間違った結果を返す

分類Dev

錆:モジュール関数から結果を返す:型引数の数が間違っている:予期される2、見つかった0

分類Dev

getBoundingClientRectが間違った結果を返す

分類Dev

Oraclerownumが間違った結果を返す

分類Dev

ElasticsearchMatchQueryが間違った結果を返しています

分類Dev

strftime(%Z)が間違った結果を返す

分類Dev

PHPPDOが間違った結果を返す

分類Dev

Laravel:クエリが間違った結果を返す

分類Dev

OpenMPが間違った結果を返す

分類Dev

commons-net FTPClient.retrieveFileStream()が間違った結果を返す

分類Dev

mySQLが間違ったカウント結果を返す

分類Dev

php&ajaxが間違った結果を返す

分類Dev

strtotimeが間違った結果を返すyyyy-mm-dd形式

分類Dev

phpmysqlが間違ったブール結果を返す

分類Dev

mysql_queryが間違った結果を返す

分類Dev

SQLクエリが間違った結果を返す

分類Dev

#define ADD(x)(x)+(x)が間違った結果を返す

分類Dev

pow() 関数が間違った結果を返す

Related 関連記事

  1. 1

    Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

  2. 2

    Elasticsearchクエリの結果が間違った結果を返す

  3. 3

    HAVING 句のある SQL COUNT が間違った結果を生成する

  4. 4

    間違った結果を返すSQL

  5. 5

    WHERE句で<>(等しくない)を使用すると、MySQLクエリが間違った結果を返す

  6. 6

    間違った結果を示す2つの日付の違い

  7. 7

    クエリが間違った結果を返すのはなぜですか?

  8. 8

    If条件が間違った結果を返すのはなぜですか?

  9. 9

    Scipy stdDevが間違った結果を返すのはなぜですか?

  10. 10

    統計が間違った結果を返すのはなぜですか?

  11. 11

    なぜslice :: binary_searchが間違った結果を返すのですか?

  12. 12

    複数のクエリを含むMongoDBfindOneが間違った結果を返す

  13. 13

    錆:モジュール関数から結果を返す:型引数の数が間違っている:予期される2、見つかった0

  14. 14

    getBoundingClientRectが間違った結果を返す

  15. 15

    Oraclerownumが間違った結果を返す

  16. 16

    ElasticsearchMatchQueryが間違った結果を返しています

  17. 17

    strftime(%Z)が間違った結果を返す

  18. 18

    PHPPDOが間違った結果を返す

  19. 19

    Laravel:クエリが間違った結果を返す

  20. 20

    OpenMPが間違った結果を返す

  21. 21

    commons-net FTPClient.retrieveFileStream()が間違った結果を返す

  22. 22

    mySQLが間違ったカウント結果を返す

  23. 23

    php&ajaxが間違った結果を返す

  24. 24

    strtotimeが間違った結果を返すyyyy-mm-dd形式

  25. 25

    phpmysqlが間違ったブール結果を返す

  26. 26

    mysql_queryが間違った結果を返す

  27. 27

    SQLクエリが間違った結果を返す

  28. 28

    #define ADD(x)(x)+(x)が間違った結果を返す

  29. 29

    pow() 関数が間違った結果を返す

ホットタグ

アーカイブ