我有一个类似于以下结构的表:
CREATE TABLE cityData
(
item character varying,
data jsonb
);
它包含像以下这样的值:
ITEM DATA
test1 [{"rank":"1", "city":"New York"},{"rank":"3", "city":"Sidney"}]
test2 [{"rank":"2", "city":"NEW YORK"},{"rank":"4", "city":"New Delhi"}]
我需要获取城市为“纽约”的不同json对象的数量。我正在使用以下查询
SELECT * FROM cityData t
WHERE ( data @> '[{"city":"New York"}]')
and t.item ilike '%test%';
但是这个查询输出了test1行。我需要使查询不区分大小写,以便data @> '[{"city":"New York"}]'
匹配New York
和NEW YORK
。