arrays - Postgres 不在数组中

标签 arrays postgresql

我正在使用 Postgres 的 native 数组类型,并尝试查找 ID 不在数组收件人 ID 中的记录。

我可以找到他们所在的位置:

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 NOT (condition) 否定 WHERE (condition)

关于arrays - Postgres 不在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730777/

相关文章:

mysql - 获取过去三年内发出请求的所有用户

PHP 计算平衡数组

javascript - 数组中最后一项的行为异常

sql - 从 JsonB 数组中删除数字项

postgresql - 巨型数据库上的 pg_dump 和 pg_restore

postgresql - npgsql - 它是否使用下面的 JDBC 驱动程序连接到 Postgres

java - 如何为命令行输入设置条件以避免输出中的第一个值

php - 如何优化从 php 输入匹配多部分 rar 文件的算法

javascript - 为什么 Sequelize 时间戳没有关闭

postgresql - 检查 unix shell 脚本中 psql 命令的返回状态