1. ホーム
  2. arrays

[解決済み] Postgres の配列の NOT

2022-08-05 17:27:15

質問

Postgresのネイティブ配列型を使っていて、IDが配列の受信者IDにないレコードを見つけようとしています。

どこにINしているかはわかります。

SELECT COUNT(*) FROM messages WHERE (3 = ANY (recipient_ids))

しかし、これではうまくいきません。

SELECT COUNT(*) FROM messages WHERE (3 != ANY (recipient_ids))
SELECT COUNT(*) FROM messages WHERE (3  = NOT ANY (recipient_ids))

この状態をテストする正しい方法は何でしょうか?

どのように解決するのですか?

SELECT COUNT(*) FROM "messages" WHERE NOT (3 = ANY (recipient_ids))

を常に否定することができます。 WHERE (condition)WHERE NOT (condition)