MySQL儲存過程 長字串扯分

2021-07-02 02:50:58 字數 1126 閱讀 8442

delimiter $$  -- 

分隔符use`test` −

−dro

ppro

cedu

reif

exis

ts『p

rosp

lit『

-- 如果已經存在則刪除

proc

create procedure `test`.`pro_split` (varchar rids)

begin

declarepo int default 0;  

-- 定義乙個位置點

declarerid varchar(20) default "";   

-- 定義乙個

rid變數

declarerid_tmp varchar(20) default "";

set po= locate(",",rids);  

-- 找到第乙個

,的位置點

set rid=left(po-1,rids);  

-- 截取出第乙個

ridsetrid_tmp=substr(rids,po+1);   

-- 設定剩下還沒有處理的

rids

長字串

whilepo >0 do    -- 

開始迴圈處理

rids

長字串

insertinto b_tmp select pid,rid;  --

把擷取出來的

rid放入臨時表中

set po =locate(",",rid_tmp); -- 

獲取未處理中的長字串的

,的第乙個位置點

set rid=left(po-1,rid_tmp);   --

取出每乙個迴圈中擷取出來的

rid                  setrid_tmp=substr(rid_tmp,po+1);  -- 

重新設定未處理的長字串。

endwhile  ;

end$$

delimiter;

ps:這個是預設的字串扯分規則是「,」,如果想變成靈活一些的,可以設定乙個in 引數,在呼叫proc的時候代入即可。

MySQL儲存過程 長字串扯分

delimiter 分隔符 use test dropprocedure if exists pro split 如果已經存在則刪除proc create procedure test pro split varchar rids begin declarepo int default 0 定義乙個...

mysql字串拼接,儲存過程

mysql concat函式可以連線乙個或者多個字串,如 select concat 10 結果 10 select concat 11 22 33 結果 112233 mysql的concat函式在連線字串的時候,只要其中乙個是null,那麼將返回null select concat 11 22 ...

mysql 字串分割儲存過程

drop procedure if exists splitstr create procedure splitstr in str varchar 255 out substr varchar 2000 out idstr varchar 100 begin declare index var v...