MySQL和MariaDB中的JSON_Search差异

2022-06-25 00:00:00 mariadb mysql json-search

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

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

当我在MariaDB中运行此查询it works并获得所需结果

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

但在顶层MySQL 8.0 igot 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"" |
+---------------+

相关文章