mysql 二元分词_mysql二元分词法函数

这段内容展示了如何在MySQL中创建一个名为`fun_split`的函数,用于进行二元分词处理。函数通过逐字符分析,判断是否超过ASCII值127来决定是否进行分词,并将结果转化为特定格式的字符串。
摘要由CSDN通过智能技术生成

CREATE DEFINER=`root`@`%` FUNCTION

`fun_split`(nm varchar(100)) RETURNS varchar(500) CHARSET

latin1

READS SQL DATA

BEGIN

declare i int;

declare rtn int;

declare rtn1 int;

declare sec varchar(10);

declare rtnstr

varchar(500);

set i=1;

set rtnstr='';

WHILE i

set rtn=

ascii(substring(nm,i,1));

IF rtn>127 THEN

set rtn1=

ascii(right(substring(nm,i,2),1));

IF rtn1> 127 THEN

IF i

IF

(ascii(right(substring(nm,i,3),1))>127 and

ascii(right(substring(nm,i,4),1))>127) THEN

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),'

');

ELSE

set sec='';

END IF;

ELSE

set sec='';

END IF ;

ELSE

set

sec=concat(char(rtn),char(rtn1));

END IF;

SET i = i + 1;

ELSE

IF i

IF

(ascii(right(substring(nm,i,2),1))>127 and

ascii(right(substring(nm,i,3),1))>127) THEN

set sec=concat(char(rtn),'

');

ELSE

set sec=char(rtn);

END IF;

ELSE

IF

(ascii(right(substring(nm,i,2),1))>127 and

ascii(right(substring(nm,i,3),1))>127) THEN

set sec=char(rtn);

ELSE

set

sec=char(rtn,ascii(right(substring(nm,i,2),1)));

END IF;

END IF;

END IF;

set

rtnstr=concat(rtnstr,sec);

SET i = i + 1;

END WHILE;

RETURN rtnstr;

END$$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值