【发布时间】:2017-10-18 19:29:56
【问题描述】:
注意:这是针对 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
【问题讨论】: