分隔符號$$;
如果存在 `radius`.`fun_split`$$
CREATE DEFINER=`root`@`% ` FUNCTION `fun_split`(nm varchar(100)) 傳回 varchar(500) CHARSET latin1 則
刪除函數
讀取 SQL 數據
開始
聲明 i int;
聲明 rtn int;
聲明 rtn1 int;
聲明 sec varchar(10);
聲明 rtnstr varchar(500);
設i=1;
設定 rtnstr='';
當 i < 長度(nm) DO
設定 rtn= ascii(子字串(nm,i,1));
如果 rtn>127 那麼
設定 rtn1= ascii(right(子字串(nm,i,2),1));
如果 rtn1> 127 那麼
如果 i< 長度(nm)-1 那麼
IF (ascii(right(子字串(nm,i,3),1))>127 且 ascii(right(substring(nm,i,4),1))>127) THEN
設定sec=concat(right(concat('00',rtn-160),2),right(concat('00',rtn1-160),2),right(concat('00',ascii(right(兒子字串) (nm,i,3),1))-160),2),right(concat('00',ascii(right(子字串(nm,i,4),1))-160) ,2),' ');
別的
設定秒='';
結束如果;
別的
設定秒='';
結束如果;
別的
設定 sec=concat(char(rtn),char(rtn1));
結束如果;
設定 i = i + 1;
別的
如果 i< 長度(nm)-1 那麼
IF (ascii(right(子字串(nm,i,2),1))>127 且 ascii(right(substring(nm,i,3),1))>127) THEN
設定 sec=concat(char(rtn),' ');
別的
設定 sec=char(rtn);
結束如果;
別的
IF (ascii(right(子字串(nm,i,2),1))>127 且 ascii(right(substring(nm,i,3),1))>127) THEN
設定 sec=char(rtn);
別的
設定 sec=char(rtn,ascii(right(子字串(nm,i,2),1)));
結束如果;
結束如果;
結束如果;
設定 rtnstr=concat(rtnstr,秒);
設定 i = i + 1;
結束同時;
返回rtnstr;
結束 $$
分隔符號;$$