簡體   English   中英

使用 PostgreSQL,我如何使用數組中的項目獲取第一列的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM