我有一个postgres列'data',它是这种格式的jsonb:
{
'tags': ['friend','enemy','frenemy']
... // other data
}
假设我想选择标记为“敌人”或“弗雷米尼”的所有行,我该怎么做?
我知道我可以使用
选择单个标签SELECT * FROM people WHERE people.data->'tags' ? 'enemy'
我应该使用@> ANY
,但无法弄清楚使其运行的语法。
答案 0 :(得分:2)
我发现答案隐藏在this SO question。
SELECT * FROM people WHERE people.data->'tags' ?| ARRAY['enemy','frenemy']