postgresql怎么样可以做json数据的部分匹配


有下面这段数据。

id tags
29 [5, 4, 7]
117 [2, 7]
28 [5, 7]
24 [7]
31 []
32 [7]
30 [2, 4, 6]
57 [5, 2, 4, 7, 6]

我想选出同时包括5和7的,该怎么操作?
我现在是这样做的,但是结果是包括了5和7的,但是我想得到是"和",不是"或",求解。
select tags from sale , json_array_elements(tags) as elem where elem::jsonb in ('5', '7')

PostgreSQL

十六夜・咲夜 9 years, 4 months ago

已解决。我将tags中的数值变成了字符,然后使用tags::jsonb ?& ARRAY['5', '7']就行了。

杀必死之神 answered 9 years, 4 months ago

Your Answer