我想在MySQL中的JSON字符串中找到123。
这是我的查询语句:
SELECT * FROM `reports` WHERE JSON_CONTAINS(json_data, 123, "$.respCode");
当我运行这段代码时,我得到了以下错误:
Error Code: 3146. Invalid data type for JSON data in argument 1 to function json_contains; a JSON string or JSON type is required. 0.020 sec
我的json在json_data列中的样子如下:
{ "bla":"", "bla2":"", "bla3":"", "bla4":"", "respCode":"123", "bla5":"" }
我也试了这个
WHERE JSON_UNQUOTE(JSON_EXTRACT('json_data', "$.respCode")) = '123'
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这是MySQL JSON_CONTAINS()函数的语法:
你可以试试
SELECT * FROM `reports` WHERE JSON_CONTAINS(json_data, '{"respCode":"123"}');DB Fiddle Demo