问题已经在标题中说明,下面是数据示例。
insert into table A values('a','b', {'key':'value'});
我希望能够使用WHERE子句基于键值对选择该行数据。请问如何实现?
使用 JSON_VALUE
:
SELECT t.*
FROM tableA t
WHERE JSON_VALUE(col3, '$.key') LIKE 'some_value'
假设包含JSON值 {'key':'value'}
的列名为col3
。
如果你正在使用PostgreSQL,请使用以下查询
select * from table_name where column_name->>'key_name' = 'value_name';
这是对我有效的解决方案:
column_name->'$.key'
已测试通过 mysql 服务器 5.7.27
WHERE JSON_VALUE(col3, '$.quote.key') LIKE 'some_value'
。 我遇到了这种情况,想和大家分享一下,也许会有所帮助。 - undefined