sql - 在 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'
解决方案
您可以使用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'
推荐阅读
- java - Tomcat 9.027:端口超出范围
- dictionary - 在不搜索的情况下在谷歌地图中显示我的商店
- java - XSharedPreferences 总是在我的 xposed 模块中获得默认值
- html - 更改截面高度
- bigcartel - 使用 SnakeBite 主题删除 Big Cartel 上的页面
- java - 如何删除 JButton 内文本周围的框?
- python-3.x - python请求登录或填写表格
- c++ - 我得到一个没有被忽略的空值,因为它应该是错误的,为什么?
- scala - Scala:从“任何”值的集合中检测并提取更具体的东西
- reactjs - react native 中的 props