【发布时间】:2020-02-21 12:35:43
【问题描述】:
所以我有一个带有多个值的 JSON 变量,如下所示:
"["1", "2", "3", "4"]"
我需要做的是将该值传递给 SQL 过程以挂载一个查询,其中 WHERE 子句添加 JSON 中的所有值,因此类似于解析 JSON,对其进行交互并连接它以获得@where 类似于:
AND id=1 AND id=2 AND id=3 AND id=4
我尝试过这样的事情,因为在已经存在的程序中发生了非常相似的事情,但不起作用:
SET @idWhere="";
IF id IS NOT NULL AND JSON_EXTRACT(id, '$[0]') IS NOT NULL THEN
SET @idWhere = CONCAT(@idWhere," AND JSON_SEARCH('",id,"','one',id) IS NOT NULL ");
END IF;
其中 id 是 JSON 的名称和列名。
提前致谢!
【问题讨论】:
-
阅读SQL语句
INhere -
你能分享你的示例 json 数据吗?
-
示例 JSON 数据正是我发布的内容:
"["1", "2", "3", "4"]" -
编辑:好吧,不完全是,它可能会改变数字,有更多,有更少,但组织就是这样。