DELIMITADOR $$;
FUNCIÓN DE SOLTAR SI EXISTE `radius`.`fun_split`$$
CREAR DEFINER=`root`@`% ` FUNCIÓN `fun_split`(nm varchar(100)) DEVUELVE varchar(500) CHARSET latin1
LEE DATOS SQL
COMENZAR
declarar que int;
declarar rtn int;
declarar rtn1 int;
declarar sec varchar(10);
declarar rtnstr varchar(500);
establecer i=1;
establecer rtnstr='';
MIENTRAS i <longitud(nm) HACER
establecer rtn= ascii(subcadena(nm,i,1));
SI rtn>127 ENTONCES
establecer rtn1= ascii(right(substring(nm,i,2),1));
SI rtn1> 127 ENTONCES
SI i<longitud(nm)-1 ENTONCES
SI (ascii(right(substring(nm,i,3),1))>127 y ascii(right(substring(nm,i,4),1))>127) ENTONCES
set sec=concat(right(concat('00',rtn-160),2),right(concat('00',rtn1-160),2),right(concat('00',ascii(right(subcadena (nm,i,3),1))-160),2),right(concat('00',ascii(right(substring(nm,i,4),1))-160),2),' ');
DEMÁS
establecer seg='';
FINALIZAR SI;
DEMÁS
establecer seg='';
FINALIZAR SI;
DEMÁS
establecer sec=concat(char(rtn),char(rtn1));
FINALIZAR SI;
CONJUNTO yo = yo + 1;
DEMÁS
SI i<longitud(nm)-1 ENTONCES
SI (ascii(right(substring(nm,i,2),1))>127 y ascii(right(substring(nm,i,3),1))>127) ENTONCES
set sec=concat(char(rtn),' ');
DEMÁS
establecer seg=char(rtn);
FINALIZAR SI;
DEMÁS
SI (ascii(right(substring(nm,i,2),1))>127 y ascii(right(substring(nm,i,3),1))>127) ENTONCES
establecer seg=char(rtn);
DEMÁS
establecer sec=char(rtn,ascii(right(substring(nm,i,2),1)));
FINALIZAR SI;
FINALIZAR SI;
FINALIZAR SI;
establecer rtnstr=concat(rtnstr,sec);
CONJUNTO yo = yo + 1;
TERMINAR MIENTRAS;
REGRESAR rtnstr;
FINAL$$
DELIMITADOR ;$$