((Postgresql)如何从整数数组中获取所有匹配项

问题描述 投票:0回答:1

我希望将所有与group_id匹配的行作为输入

例如

这是我的桌子:-

id |      name      | group_id 
----+----------------+----------
  1 | Alice John     | {1,2,3}
  2 | joshn shukla   | {1,4}
  3 | rishikesh jain | {2,8}

当我执行以下查询时:-

select * from employee where group_id::TEXT ~ '[\{,]2,8[,\}]'

然后返回结果成为

 id |      name      | group_id 
----+----------------+----------
  3 | rishikesh jain | {2,8}

预期结果全部匹配:-

 id |      name      | group_id 
----+----------------+----------
  1 | Alice John     | {1,2,3}
  3 | rishikesh jain | {2,8}

因为两行中都存在2。任何解决方案?

postgresql postgresql-9.3 postgresql-9.2 postgresql-9.5
1个回答
0
投票

尝试:

select * from employee  where  (group_id @> '{2}' or group_id @> '{8}');
© www.soinside.com 2019 - 2024. All rights reserved.