[英]With PostgreSQL, how would I get the value of column one with an item in an array?
我有一個“Inventory”表,有兩列:id(bigint,主鍵)和cards(數組)。
假設我的卡片欄是: ARRAY['IZMI', 'IZCH', 'IZHI']
我將如何獲取數組中只有一項的 id,例如'IZMI'
?
我的查詢是什么?
有幾種選擇:
一種是使用ANY
運算符:
select *
from inventory
where 'IZMI' = any(cards);
另一個是包含運算符@>
select *
from inventory
where cards @> array['IZMI'];
如果您需要搜索多個匹配項(所有匹配項都必須包含在cards
中),第二個選項很有用。所以這將是一個AND
類型比較。
最后是重疊運算符&&
select *
from inventory
where cards && array['IZMI'];
與包含運算符相反,如果至少一個元素匹配,則重疊運算符為真。 因此,如果您想要OR
類型比較,這很有用。
更多細節可以在手冊中找到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.