我有一个PostgreSQL数据库,其中的表名为choices,在choices表中有一个名为json的列,其中包含JSON条目,例如:[1,2,3]
我需要一个查询,该查询返回包含特定值的所有整数。
例如,我有以下条目:
我想获取所有包含值1的条目,因此它将返回: [1,2,3] [6,7,1]
谢谢
答案 0 :(得分:1)
json_array_elements_text
函数将json数组扩展为每个元素一行(作为文本)。这样,您就可以根据自己喜欢的任何值对其进行过滤。
SELECT
json_data
FROM choices, json_array_elements_text(json_data) elem
WHERE value = '1'
请注意,“ json”是PostgreSQL中json类型的名称。您最好重命名您的列,以避免发生一些冲突。 (我叫我的json_data
)