检查数组是不是包含在 PostgreSQL 中的另一个数组中
Posted
技术标签:
【中文标题】检查数组是不是包含在 PostgreSQL 中的另一个数组中【英文标题】:Checking if array is contained in another array in PostgreSQL检查数组是否包含在 PostgreSQL 中的另一个数组中 【发布时间】:2014-01-22 07:10:51 【问题描述】:有一个数组[10,20],我想知道它是否是数组[20,30,10] 的子集。是否有一个 postgresql 函数或操作来确定一个数组是否包含另一个?
期望的结果:
[10,20] and [30,20,10] - true
[10,20] and [10,30] - false
[10,20] and [20,10] - true
[10,20] and [10,20] - true
【问题讨论】:
'PostgreSQL 中的一个数组'??这是某个代码块的一部分吗?如果不是,我们在谈论什么数据结构? @JanDoggen 数组至少从 version 7 于 2001 年首次发布以来就存在于 PostgreSQL 中。所以我没有得到你的问题,或者这个问题被关闭的原因。 @Rodrigo 这个问题被关闭的原因在顶部的蓝框中写得很清楚 @JanDoggen 是的,我看到了但不同意。许多问题没有显示一半,它们仍然是开放的,有时甚至有数百甚至数千个赞成票。如果有人了解数组是什么,那么问题就很清楚了。我也不明白你的问题。 “什么数据结构?”当然是数组! @JanDoggen 我也不明白为什么要关闭它。你能进一步解释一下吗?您的回答“这个问题被关闭的原因清楚地写在顶部的蓝色框中”是非常无用的,并且对网站上经验不足的人没有描述性。这个问题和下面接受的答案对我非常有帮助,我假设这个问题自 2014 年以来已经有 7k 其他观众。请重新考虑重新打开这个问题以获取新的更新答案。请解释为什么你认为它跑题了,如果你不同意,应该保持关闭。 【参考方案1】:可能是这样的:
SELECT ARRAY[10,20] <@ ARRAY[30,20,10];
http://www.postgresql.org/docs/current/static/functions-array.html
【讨论】:
像魅力一样工作。以上是关于检查数组是不是包含在 PostgreSQL 中的另一个数组中的主要内容,如果未能解决你的问题,请参考以下文章
如何检查数组字段是不是包含唯一值或 MongoDB 中的另一个数组?
一个数组是不是包含使用 c# 的另一个数组 Mongodb 中的任何值
如何检查向量的所有元素是不是在 Eigen c++ 中的另一个向量中?
检查两个 3D numpy 数组是不是包含重叠的 2D 数组