【发布时间】:2021-04-26 11:04:42
【问题描述】:
假设我们有一个数组:
ARRAY[1,2,3]
通过运算符
ARRAY[1, 2] <@ ARRAY[1,2,3]
上面的效果很好,但现在让我们看下面的例子:
ARRAY[1, 2] <@ ARRAY[1,3,7]
在这种情况下,上面将按预期返回 false。
我们是否有这样的操作符:
- 左数组包含在右数组中
- 或者左侧数组中的每个元素都不包含在右侧数组中?
到今天为止,我可以很容易地想出一个涉及重叠运算符的解决方案,但这并不是我真正想要的。 它极大地复杂了我的查询,我需要在应用程序端做一些更复杂的字符串机制来构建查询。
我正在使用 PostgreSQL 13。
【问题讨论】:
-
所有
integer数字都像您的示例所暗示的那样吗?int4?可以有 NULL 值作为元素或 NULL 数组吗?如果是这样,如何处理这些?数组元素总是唯一的吗?
标签: sql arrays postgresql operators postgresql-13