【问题标题】:JSON_SEARCH difference in MySQL and MariaDBMySQL 和 MariaDB 中的 JSON_SEARCH 差异
【发布时间】:2021-10-23 05:23:31
【问题描述】:

我只是尝试使用JSON_SEARCH 函数获取价值路径:

SELECT JSON_SEARCH('[12, 13, {"12": 123}]', 'one', '123', null, '$[*]') path;

当我在 MariaDB it works 中运行此查询时,我得到了想要的结果

+===========+
| path      |
+===========+
| "$[2].12" |
+-----------+

但在 MySQL 8.0 I got NULL 上运行相同的查询

所以我需要帮助如何匹配查询以将其与 MySQL 一起使用

【问题讨论】:

    标签: mysql mariadb json-search


    【解决方案1】:

    Bug #79233: JSON_SEARCH does not search for non-string values

    如果您的 JSON 标量值是字符串,您可以找到它们:

    mysql> SELECT JSON_SEARCH('[12, 13, {"12": "123"}]', 'one', '123', null, '$[*]') path;
                                               ^^^^^ quoted string value
    +---------------+
    | path          |
    +---------------+
    | "$[2].\"12\"" |
    +---------------+
    

    【讨论】:

    猜你喜欢
    • 2021-09-23
    • 2018-08-24
    • 2019-09-10
    • 2019-02-23
    • 2021-07-11
    • 2017-12-03
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    相关资源
    最近更新 更多