我有表字段jsonb類型並具有以下數據。如何從postgresql json數組字段中獲取數據
{"roles": ["7", "73", "163"]}
我必須檢查「73」是否存在或不是由postgresql。
我已經搜索,但唯一給對象的對象不是數組的對象的解決方案。
我曾嘗試下面的查詢,但它不工作
SELECT *
FROM table
WHERE field->'roles' ? ARRAY ['73'];
--updated--
也是我需要的只是記錄具有精確值
{「角色」: 「7」]}
{ 「角色」:[ 「7」, 「73」, 「163」]}
即字段僅具有「 7「沒有其他任何東西。
爲什麼你使用'ARRAY ['73']'?你的查詢只用'WHERE field - >'roles'就可以正常工作? 「73''。 – Marth
@Marth:謝謝我已經搜索了超過半天的互聯網和堆棧溢出的解決方案,但你在一分鐘內給它。 – Sandeep
@Marth:我也需要匹配確切的數組。也許這就是爲什麼我使用ARRAY ['73']但它不起作用:( – Sandeep