获取 mysql 中 JSON 数组元素的索引

Moh*_*tra 6 mysql

我有一个 JSON 数字数组,例如 [16, 9, 11, 22, 23, 12]。我想获取数组中数字的索引。例如我说我想要索引 9,它应该返回 1。

我尝试在 MySQL 中使用下面提到的查询,但得到空值。

SELECT JSON_SEARCH(CAST('[16, 9, 11, 22, 23, 12]' AS JSON),'one',9)
Run Code Online (Sandbox Code Playgroud)

你们有解决办法吗?

Kos*_*ery 3

CAST这里没有必要。但数组值应该被引用为

JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...])

返回JSON 文档中给定字符串的路径。

SELECT json_search('["16", "9", "11", "22", "23", "12"]', 'one', '9');
Run Code Online (Sandbox Code Playgroud)

回报"$[1]"