2015-11-19 84 views
0

我使用的Postgres 9.4和我有一個表TEST_TABLE其中定義是:postgresql Jsonb?不工作

id (primary key) integer, meta_data json, version integer 

表數據如下:

1;"{"id":99,"file_name":"test.pdf"}";0 
2;"{"id":101,"nest1":{"nest_name_1":"oxford"},"file_name":"test2.pdf"}";0 

我想找到所有的主鍵包含關鍵字牛津。因此,預期的結果是2

我仍然在試圖找到一個解決方案,我試圖像:

select * from test_table where meta_data ? 'oxford' 

給我:

Error: operator does not exist: json ? unknown

這就是讓我困惑。當然postgresql 9.4有?操作員權利?到底是怎麼回事?

有人可以幫助我。

在此先感謝

回答

0

運營商?適用於jsonb,所以您的查詢應該是:

注意查詢不會找到任何行,因爲值'oxford'是嵌套的對象。

+0

你是對的,我只是注意到它,我會刪除這個問題。但是既然你已經回答了,我會在我被允許的時候接受答案(大約三分鐘)。 – Ikthiander