在postgresql上用jsonb上的通配符查询

时间:2015-11-19 12:45:57

标签: sql database postgresql-9.4 jsonb

我有一个像test_jsonb这样的表:

id:integer, meta_data jsonb, version int

该表的数据如下:

{"id": 99, "file_name": "test.pdf"}
{"id": 101, "file_name": "test2.pdf"}

我想查询具有file_name = test.pdf的所有文件。我该怎么做?找不到任何好的例子。请帮忙。

提前感谢。

1 个答案:

答案 0 :(得分:0)

查询名为“test.pdf”的文件

SELECT *
FROM test_jsonb
WHERE meta_data->>'file_name' = 'test.pdf'

查询包含所有扩展名的测试文件

SELECT *
FROM test_jsonb
WHERE meta_data->>'file_name' LIKE 'test.%'

查询扩展名为“.pdf”的文件

SELECT *
FROM test_jsonb
WHERE meta_data->>'file_name' LIKE '%.pdf'