提问人:Dmitrii 提问时间:10/13/2023 最后编辑:SelVaziDmitrii 更新时间:10/13/2023 访问量:93
如何检查,(值)在postgres sql(数组)中吗?
How to check, is (value) in postgres sql (array)?
问:
我在 SQL 中有一个数组,例如
CREATE TABLE Table1 (
examples text ARRAY);
INSERT INTO Table1
(examples)
VALUES
{t1,t2,t3};
我找不到正确语法的描述来做例子
我尝试了教程示例,但它不起作用,或者我只是不明白某些东西select * from Table1 where (values) in (any\some)
select *
from player_scores
where 95 < any (round_scores);
我是否正确理解你需要做这样的事情——
Postgresql 选择列 = 数组或 this 的行 - 如何检查 Postgres 中数组的任何字段是否不包含子字符串?
SELECT * FROM Table1 WHERE "value" = any (examples);
答:
1赞
Albina
10/13/2023
#1
您的查询应为:
select *
from player_scores
where '95' = ANY(round_scores);
你也可以检查这个答案。
0赞
Zufar Sunagatov
10/13/2023
#2
如何检查,(值)在postgres sql(数组)中吗?
是的,这是正确的。如果要检查某个值是否在PostgreSQL数组中,可以使用 function 。 如果数组中存在该值,则返回 true,否则返回 false。ANY()
ANY()
此外,在 PostgreSQL 中使用数组时,您需要使用单引号而不是双引号。原因是期望数组元素括在单引号中:ANY()
ANY()
SELECT * FROM player_scores WHERE '95' = ANY(round_scores);
评论