[英]Search in Array field in Postgres
我具有以下表結構,在這里countries
列是數組類型。
id | name | countries
----+-------+-----------------------------------
1 | Asia | {india,china,pakistan,bangladesh}
2 | World | {india,pakistan,srilanka}
要查找china or sriLanka
所有行,請使用以下查詢:
SELECT *
FROM country_list
WHERE 'china' = ANY(country_list.countries)
OR 'srilanka' = ANY(country_list.countries);
就像In
運算符一樣,我們還能有更好的方法嗎?
也許是這樣, SELECT * FROM country_list WHERE name in ('Asia','World');
?
您可以使用&&
重疊運算符 :
select *
from country_list
where countries && array['china','srilanka'];
嘗試類似此查詢。
SELECT * FROM table WHERE name @> ARRAY['s']::varchar[]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.