解决mysql5.7及以下版本无法解析json字符串的问题

发布时间:2020-06-16 12:10:46 作者:Lee_吉
来源:网络 阅读:5937

#把key->value(json字符串)拼成sql语句

DELIMITER //

DROP FUNCTION kvJsonData//

CREATE FUNCTION kvJsonData(tableName char(20),medKeys text,medValues text,orderId int(11))

returns text

BEGIN

declare num int(11);

declare count int(2) default 1;

declare strValues text default "";

declare strKeys text;

declare ret text default "";

set strKeys=concat(medKeys,',`order_id`');

set ret=concat("insert into ",tableName,"(",strKeys,") values");

set num= LENGTH(medValues) - LENGTH(REPLACE(medValues, '#', ''))+1;

while count<=num do

if count=1 then

set strValues=concat(SUBSTRING_INDEX(medValues,'#',count),',',orderId);

else

set strValues=SUBSTRING_INDEX(medValues,'#',count);

set strValues=SUBSTRING_INDEX(strValues,'#',-1);

set strValues=concat(strValues,',',orderId);

end if;

set ret=concat(ret,"(",strValues,"),");

set count=count+1;

end while;

set ret=substring(ret,1,LENGTH(ret)-1);

return ret;

END

//

DELIMITER ;


推荐阅读:
  1. linux下mysql5.7 及以下版本更改root用户密码记录
  2. openldap的搭建(版本在2.4以下)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql j 符串

上一篇:linux系统中无法ping通外网的解决方法

下一篇:磁盘分区助手使用心得

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》