mysql也能实现二元分词法

[ 来源:http://www.it55.com | 作者: | 时间:2007-09-16 | 收藏 | 推荐 ] 【

DELIMITER $$;

DROP FUNCTION IF EXISTS `radius`.`fun_split`$$ 免费网页模版下载http://www.it55.com

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 <length(nm) DO
      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<length(nm)-1 THEN

http://www.it55.com


          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));
http://www.it55.com

         END IF;
         SET i = i + 1;
      ELSE
         IF i<length(nm)-1 THEN
          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);

http://www.it55.com/


          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$$
免费壁纸下载http://www.it55.com

DELIMITER ;$$ 免费矢量图片素材下载http://www.it55.com

(编辑:IT资讯之家 www.it55.com

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]