【发布时间】:2019-07-16 11:04:04
【问题描述】:
我们如何在 sql 查询中使用正则表达式从 json 字段中获取数据(键/值)。 为了进一步了解,我在那本书里面有一个表格市场是 json,有一个字段作为标题。
{
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": ["A123"],
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": ["A1235"],
"price": 12.99
}]
我写的查询是:
select * from market where books REGEXP('"title":\s*(\["[A-Za-z0-9]*"\])');
但我没有得到输出。
【问题讨论】:
-
您使用的是什么数据库,您的问题不清楚,您是否想从以 JSON 形式存储的 DB 列中读取数据,如果是,那么每个特定数据库都已经实现了 JSON 函数可以参考。
-
此数据已在数据库中。我正在使用 mySql 5.7.15,我想从表市场执行 select 语句,其中书籍是一个存储 json 对象的字段,标题是其中的属性。现在我已经有了一个标题值,并且想要选择所有那些标题值与给定值相同的记录
-
请不要指望这样的stackover流程上的问题的确切解决方案,但是有了这个门户,您将始终以正确的方式得到指导,您可以查看下面的答案