我正在创建一个包含以下循环的函数:
While v_start >= v_stop do
set v_msg := concat(v_msg,v_start,v_delimiter);
set v_start := v_start + v_step;
end while;
当我调用该函数时,我传递以下参数:
select a06_counter_loop(10,-5, -3, '-->') as 'The Loop Output';
它应该返回:
10-->7-->4-->1-->-2-->-5
但它回来了:
10-->7-->4-->1-->-2-->-5-->
我的问题是如何摆脱最后一个非数字字符?
如果您需要该功能的完整代码,请告诉我。
谢谢, PERRI
答案 0 :(得分:1)
使用CONCAT_WS(separator,str1,str2,...)
尝试此操作While v_start >= v_stop do
set v_msg := CONCAT_WS(v_delimiter,v_msg,v_start);
set v_start := v_start + v_step;
end while;
答案 1 :(得分:1)
set v_msg := v_start; set v_start := v_start + v_step; While v_start >= v_stop do set v_msg := concat(v_msg,v_delimiter, v_start); set v_start := v_start + v_step; end while;