如何检测MySQL中的非数字字符?

时间:2014-02-16 20:15:57

标签: mysql

我正在创建一个包含以下循环的函数:

    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

2 个答案:

答案 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;

Demo

答案 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;