mysql - MySQL 和 MariaDB 中 JSON_SEARCH 的区别

标签 mysql mariadb json-search

我只是尝试使用 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 一起使用

最佳答案

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\"" |
+---------------+

关于mysql - MySQL 和 MariaDB 中 JSON_SEARCH 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68882785/

相关文章:

python - 如何将 python 字典 pickle 到 MySQL 中?

mysql - 了解 Ruby 渲染

mysql - 记住我表索引

mysql - mariaDB 外键未形成 - varchar 不是签名/未签名问题

mysql - 在 MariaDB 中禁用 LOCAL INFILE

mysql - 无法在mamp环境中使用root@localhost连接到mysql数据库

MYSQL - 选择与特定用户重复记录最多的用户