首页 > 解决方案 > 在 SQL 中获取特定 JSON 对象键的值

问题描述

我的数据库中有一个名为cred存储 JSON 的列:

{"schema":"schema_name","other_key":"other_value"}

我正在尝试返回包含名为“模式”的列的行,该列的值为schema_name. 我们使用的是旧版本的 MySQL,它没有最新的 JSON 工具,我想知道如何将这些信息提取到它自己的列中。

我一直在尝试的当前查询是:

SELECT c.clientId, c.feePercent, c.absorbCharges, c.cred FROM clients c
WHERE active = 1
AND `c.dbCred.key`='schema'

标签: sqljson

解决方案


您可以使用MariaDB json Functionsjson_extract的功能。例子:

SELECT c.clientId, c.feePercent, c.absorbCharges, c.cred FROM clients c
WHERE active = 1
AND json_extract(c.dbCred, '$[key]')='value'

推荐阅读