2014-02-16 54 views
0

我創建一個包含下面的循環功能:如何檢測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

回答

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; 
+0

工作,謝謝! – PMa

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

+0

感謝試試這個,但我不能改變參數的順序獲得通過。 – PMa