我对以下简单的陈述感到有些困惑。
create table Test(id integer, data json);
insert into Test(id, data) values(1, '{"name": "vova"}');
select * from Test
where json_extract(data, "$.name") IN ("vova", "mark");
这里 select 什么都不返回。但是,如果我在数组中留下一个元素,查询将返回预期的行:
select * from Test
where json_extract(data, "$.name") IN ("vova");
'json_extract' 和 'where in' 似乎彼此不喜欢?或者我可能错过了什么?
这是一个带有示例的链接。当我在本地运行查询时,行为是相同的。