分隔符$$;
如果存在 `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;
结束 $$
分隔符;$$