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