q66262 发表于 2016-10-24 10:54:42

mysql 自定义函数循环list,拼接成字符串返回

  BEGIN
declare v_bonus varchar(500);
declare v_end INT(11);
declare v_all INT(11);
declare val varchar(4000);
 DECLARE no_more_departments INT;
declare    temp_cur cursor for SELECT b.bonus_class FROM `tms_bonus_log` b where b.programs_order_id=p_order_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1;
SET no_more_departments=0;
set val='';
    open temp_cur;
          REPEAT
                            fetch temp_cur into v_bonus;
              set val = CONCAT(val,v_bonus,'-');
    UNTIL no_more_departments=1 
    END REPEAT;
    close temp_cur;
    if val!='' THEN
        set v_end = CHAR_LENGTH(substring_index(val,'-',-2));
        set v_all = CHAR_LENGTH(val);
        set val = substring(val,1,v_all-v_end-1);
    end if;
    return val;
END
页: [1]
查看完整版本: mysql 自定义函数循环list,拼接成字符串返回