DELIMITADOR $$;
DROP FUNCTION SE EXISTE `radius`.`fun_split`$$
CREATE DEFINER=`root`@`% ` FUNCTION `fun_split`(nm varchar(100)) RETURNS varchar(500) CHARSET latin1
LÊ DADOS SQL
COMEÇAR
declare eu int;
declare rtn int;
declare rtn1 int;
declare sec varchar(10);
declare rtnstr varchar(500);
definir i=1;
definir rtnstr='';
ENQUANTO eu
SE rtn>127 ENTÃO
definir rtn1= ascii(right(substring(nm,i,2),1));
SE rtn1> 127 ENTÃO
SE i
set sec=concat(right(concat('00',rtn-160),2),right(concat('00',rtn1-160),2),right(concat('00',ascii(right(substring) (nm,i,3),1))-160),2),right(concat('00',ascii(right(substring(nm,i,4),1))-160),2),' ');
OUTRO
definir seg='';
TERMINAR SE;
OUTRO
definir seg='';
TERMINAR SE;
OUTRO
definir sec=concat(char(rtn),char(rtn1));
TERMINAR SE;
CONJUNTO i = i + 1;
OUTRO
SE i
definir sec=concat(char(rtn),' ');
OUTRO
definir sec=char(rtn);
TERMINAR SE;
OUTRO
SE (ascii(right(substring(nm,i,2),1))>127 e ascii(right(substring(nm,i,3),1))>127) ENTÃO
definir sec=char(rtn);
OUTRO
definir sec=char(rtn,ascii(right(substring(nm,i,2),1)));
TERMINAR SE;
TERMINAR SE;
TERMINAR SE;
definir rtnstr=concat(rtnstr,sec);
CONJUNTO i = i + 1;
TERMINAR QUANDO;
RETURN rtnstr;
FIM$$
DELIMITOR ;$$