【问题标题】:How to extract a value from JSON column with MariaDB, being this not an exact value in the JSON field?如何使用 MariaDB 从 JSON 列中提取值,这不是 JSON 字段中的确切值?
【发布时间】:2020-01-06 15:31:02
【问题描述】:

我需要使用 MariaDB 从 JSON 字符串中提取一个字段,并在该字段中搜索特定模式。

此字段只是 JSON 对象所具有的所有属性的一个属性。我已经阅读了文档,并且看到了 JSON_EXTRACT 函数。我还是一个数据库新手,所以我想在这件事上得到一些帮助。

{"user_id":"1","status_id":"1","text":"Hello, world"}

假设我想获取数据库表中具有“世界”的所有“文本”值。我可以用JSON_EXTRACT 提取。但我想要的是模式,而不是绝对值。

我该怎么做?

【问题讨论】:

  • 当您说“我想要模式”时,您的意思是您希望能够按模式进行过滤?例如。 Hello*text 所以你得到Hello, world

标签: sql json database mariadb


【解决方案1】:

你可以用json_extract()提取值,然后用like做模式匹配:

select t.*
from mytable t
where json_extract(my_json_col, '$.text') like '%world%'

【讨论】:

    猜你喜欢
    • 2017-12-13
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2022-06-14
    • 2019-02-27
    • 1970-01-01
    相关资源
    最近更新 更多