On request
SELECT JSON_SEARCH('[3]', 'one', 3) as 'index' // в массиве число, ищу число they answer me
[ { "index": null } ] And on request
SELECT JSON_SEARCH('[\"3\"]', 'one', '3') as 'index' // в массиве строка, ищу строку they answer me
[ { "index": "\"$[2]\"" } ] But on request
SELECT JSON_SEARCH('[\"3\"]', 'one', 3) as 'index' // в массиве строка, ищу число they answer me too
[ { "index": "\"$[2]\"" } ] The question is how to make mysql understand that I am looking for a number?