注意:这是针对 MySQL 5.7 的。
当我尝试使用 JSON_SEARCH
查找 JSON 数组中数字值的路径时,我得到了 NULL
。但是当我使用 JSON_SEARCH
查找字符串时,我实际上得到了路径。
# String Search Example
SET @json = '[1, 2, 3, "abc"]';
SELECT JSON_SEARCH(@json, 'one', 'abc');
----------
| "$[3]" |
----------
...但是当我明确搜索数字值时,我得到 NULL
?
# Number Search Example
SET @json = '[1, 2, 3, "abc"]';
SELECT JSON_SEARCH(@json, 'one', 1);
----------
| NULL |
----------
奇怪的是 JSON_CONTAINS
仍然可以按预期处理数字或字符串。
这可能类似于这个问题-> MYSQL Triggers: JSON_SEARCH an integer value in a json array of integers
最佳答案
JSON_SEARCH 函数仅适用于文档中提到的字符串标量:Functions That Search JSON Values
在这里你可以看到:
关于mysql - 如何使用 JSON_SEARCH() 在 MySQL JSON 数组中查找数字的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44056978/