Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql-查询json对象内的数组_Postgresql - Fatal编程技术网

Postgresql-查询json对象内的数组

Postgresql-查询json对象内的数组,postgresql,Postgresql,所以我有一个包含这个json列的表 id: 1, column: { field: [1, 2, 3] } 我想查询数组中字段值为2的所有记录。 我尝试了从“测试表”中选择*,其中2=ANY(json_数组_元素_文本((“列”->“字段”)::json)但是它抛出了一个语法错误 [0A000]错误:其中不允许设置返回功能 我的问题是如何正确构造查询。使用包含运算符@>: WHERE col::jsonb @> '{ "column": { "fie

所以我有一个包含这个json列的表

id: 1,    
column: { field: [1, 2, 3] }
我想查询数组中字段值为2的所有记录。 我尝试了从“测试表”中选择*,其中2=ANY(json_数组_元素_文本((“列”->“字段”)::json)但是它抛出了一个语法错误

[0A000]错误:其中不允许设置返回功能


我的问题是如何正确构造查询。

使用包含运算符
@>

WHERE col::jsonb @> '{ "column": { "field": [2] } }'

最好先使用
jsonb
作为数据类型。

谢谢。只是想知道我是否希望查询返回数组中包含1或2的记录,我该怎么做?这需要