利用JSON类型在mysql中实现数组功能

mysql中没有数组,有的时候不方便,可以利用JSON类型数据实现一个类数组功能。

1、数组生成

只贴出示意性代码

...
delimiter $$
drop procedure if exists sp_JSArr;
create procedure  sp_JSArr(out jsArr json )  
begin

declare retJson json default "[]" ;
set retJson= json_array_append (retJson ,"$",json_object("val",1));
set retJson= json_array_append (retJson ,"$",json_object("val",2));
set	jsArr = retJson;
end $$
delimiter ;

...

2、使用方法

  	-- 返回数组
	call sp_JSArr(jsArr );

	if JSON_VALID(jsArr ) then 
	-- @i 为数组下标变量
		set @i=0;
		set @ArrLen = JSON_LENGTH(jsArr );
     
		loop_PkArr:loop -- 循环开始
			if @i>=@ArrLen then 
				leave loop_PkArr;  --
			end if;
			--  类似数组的使用方法
			set @jsInex = concat("$[",i,"].val");
			set @val= json_extract(jsArr ,@jsIndex) ;
			
            set @i=@i+1;
		end loop;
   
    end if ;

MaraSun 2022-07-26 BJFWDQ
It is so hot that the temperature is 29.1 Celsius degree in the room

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值