如何在WHERE子句中使用json列作为条件

Mox*_*Mox 5 sql oracle

问题在标题中说明,下面是数据的一个例子

insert into table A values('a','b', {'key':'value'});
Run Code Online (Sandbox Code Playgroud)

我希望能够使用WHERE子句基于键值对选择此行.我怎样才能做到这一点?

Tim*_*sen 5

用途JSON_VALUE:

SELECT t.*
FROM tableA t
WHERE JSON_VALUE(col3, '$.key') LIKE 'some_value'
Run Code Online (Sandbox Code Playgroud)

这假定{'key':'value'}调用包含JSON值的列col3.


Sev*_*ell 5

如果您使用 PostgreSQL,请使用以下查询

select * from table_name where column_name->>'key_name' = 'value_name';
Run Code Online (Sandbox Code Playgroud)