【问题标题】:sql hibernate hqlsql休眠hql
【发布时间】: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流程上的问题的确切解决方案,但是有了这个门户,您将始终以正确的方式得到指导,您可以查看下面的答案

标签: sql hibernate hql


【解决方案1】:

你去 - 跟随 url

MY_Sql_5.7_JSON_FUNCTIONS

JSON_EXTRACT - 是方法 - 你需要的 -

JSON_EXTRACT(json_doc, path[, path] ...) - 是它的语法。

您还可以在该页面上找到示例。看看吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多