首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Npgsql and NOT IN or!=任何查询

Npgsql and NOT IN or!=任何查询
EN

Stack Overflow用户
提问于 2016-12-03 00:20:58
回答 1查看 609关注 0票数 0

Npgsql中似乎没有对IN子句的标准支持。我看到推荐使用= ANY而不是IN的帖子。这可以很好地替代标准的IN子句。但是,Postgres (pgsql)似乎没有任何允许您执行NOT ANY!=ANY查询的功能。然而,它确实支持NOT IN,但看起来Npgsql不支持。有没有人可以帮我理解如何编写这样的Npgsql兼容查询:

代码语言:javascript
复制
select * my_table where id NOT IN(1,2,3,4)
EN

回答 1

Stack Overflow用户

发布于 2016-12-03 00:41:52

首先,这与Npgsql无关--这是一个PostgreSQL问题。

其次,PostgreSQL确实具有对IN子句的完全标准支持。理解INANY之间的区别很重要:IN操作行,而ANY操作数组-这两者绝对不同,即使您可以将一个转换为另一个(例如,参见unnest)。Read the docs carefully

最后,回答你的问题..。说WHERE x != ANY(some_array)意味着“some_array中有一些元素不等于x”。这确实与您想要的不同,即“其中某些_array的元素都不等于x”。您可以使用WHERE x != ALL(some_array)来实现后者:它针对每个元素检查x,只有当所有元素都不相等时才返回true。

您还可以使用带有简单逻辑否定的ANYWHERE NOT (x = ANY(SOME_ARRAY))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40936676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档