Chr*_*erJ 5 postgresql json jsonb
我有一个 postgres 列“数据”,它是这种格式的 jsonb:
{
'tags': ['friend','enemy','frenemy']
... // other data
}
Run Code Online (Sandbox Code Playgroud)
假设我想选择所有标记为“敌人”或“敌人”的行,我该怎么做?
我知道我可以选择一个标签
SELECT * FROM people WHERE people.data->'tags' ? 'enemy'
Run Code Online (Sandbox Code Playgroud)
我应该使用@> ANY,但无法弄清楚使其工作的语法。
我发现答案隐藏在这个 SO question 中。
SELECT * FROM people WHERE people.data->'tags' ?| ARRAY['enemy','frenemy']
Run Code Online (Sandbox Code Playgroud)