相关疑难解决方法(0)

检查Postgres数组中是否存在值

我需要一种方法来测试给定数组中是否存在值.到目前为止,我想出了类似的东西

select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int)
Run Code Online (Sandbox Code Playgroud)

但我一直认为应该有一个更简单的方法,我只是看不到它.

编辑:刚认识到我能做到这一点

select '{1,2,3}'::int[] @> ARRAY[value_variable::int]
Run Code Online (Sandbox Code Playgroud)

这要好得多,我相信这已经足够了,但如果你有其他方法可以做,请分享.

arrays postgresql postgresql-9.0

169
推荐指数
6
解决办法
20万
查看次数

PostgreSQL可以索引数组列吗?

我在文档中找不到这个问题的明确答案.如果列是数组类型,是否会对所有输入的值进行单独索引?

我创建了一个包含一int[]列的简单表,并在其上放置了一个唯一索引.我注意到我无法添加相同的整数数组,这使我相信索引是数组项的组合,而不是每个项的索引.

INSERT INTO "Test"."Test" VALUES ('{10, 15, 20}');
INSERT INTO "Test"."Test" VALUES ('{10, 20, 30}');

SELECT * FROM "Test"."Test" WHERE 20 = ANY ("Column1");
Run Code Online (Sandbox Code Playgroud)

索引是否有助于此查询?

arrays postgresql indexing

132
推荐指数
3
解决办法
7万
查看次数

PostgreSQL中的IN vs ANY运算符

PostgreSQL中INANY运算符有什么区别?
两者的工作机制似乎是一样的.任何人都能用一个例子来解释这个吗

sql database postgresql rdbms sql-in

83
推荐指数
2
解决办法
7万
查看次数

比较数组是否相等,忽略元素的顺序

我有一个包含4个数组列的表..结果如下:

ids       signed_ids   new_ids   new_ids_signed
{1,2,3} | {2,1,3}    | {4,5,6} | {6,5,4}
Run Code Online (Sandbox Code Playgroud)

无论如何要通过忽略元素的顺序来比较ids并使signed_ids它们相等?

arrays postgresql

19
推荐指数
3
解决办法
9733
查看次数

标签 统计

postgresql ×4

arrays ×3

database ×1

indexing ×1

postgresql-9.0 ×1

rdbms ×1

sql ×1

sql-in ×1