我尝试在 Hazelcast 地图上执行 SQL 查询。 地图中的ata是Json格式。
如何使用 json 过滤器进行查询?我需要使用 hasEvents == true 来获取所有数据
我尝试做这个过滤器:
select JSON_QUERY(this, '$.data.field1.hasEvents?==true') from products
但是不起作用
我希望获得地图中 data.field1.hasEvents = true 的所有条目
假设你有这个表结构
CREATE TABLE IF NOT EXISTS product (id INT NOT NULL, data VARCHAR(100), PRIMARY KEY (id));
INSERT INTO product (id,data) VALUES (1, '{
"field1": {
"hasEvents": true
}
}');
INSERT INTO product (id,data) VALUES (2, '{
"field1": {
"hasEvents": false
}
}');
你的 SQL 应该是这样的
SELECT * FROM product WHERE JSON_QUERY(data, '$.field1.hasEvents') = 'true'