Mysql获得两个字符串中最大相同子串的示例分析

网友投稿 310 2023-12-25

Mysql获得两个字符串中最大相同子串的示例分析

今天就跟大家聊聊有关Mysql获得两个字符串中最大相同子串的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Mysql获得两个字符串中最大相同子串的示例分析

length:返回字符串所占的字节数,是计算字段的长度。utf8编码下,一个汉字是算三个字符,一个数字或字母算一个字符。其他编码下,一个汉字算两个字符, 一个数字或字母算一个字符。

char_length:返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符

DELIMITER $$

CREATE DEFINER=`testuser`@`%` PROCEDURE `getMaxSubStrP`(`inParam1` varchar(100),`inParam2` varchar(100), out `resultStr` VARCHAR(100), out `resultLen` int)

BEGIN

   DECLARE longStr VARCHAR(255);

   DECLARE shortStr VARCHAR(255);

DECLARE tempStr VARCHAR(255);

   DECLARE tempResult VARCHAR(255) DEFAULT "";

   DECLARE strLength2 INT DEFAULT 0;

DECLARE strLength3 INT DEFAULT 0;

   DECLARE minStrLength INT DEFAULT 0;

   DECLARE startIndex INT DEFAULT 0;

DECLARE endIndex INT DEFAULT 1;

   DECLARE cmpInt   INT DEFAULT 0;

SELECT CHAR_LENGTH(inParam1), CHAR_LENGTH(inParam2) INTO strLength2,strLength3 FROM DUAL;

   SET minStrLength = strLength2;

   IF  minStrLength>strLength3 THEN

SET minStrLength=strLength3;

       SET longStr =  inParam1;

       SET shortStr = inParam2;

   ELSE

       SET longStr=inParam2;

SET shortStr=inParam1;

   end if;

   -- select minStrLength,longStr,shortStr;

    WHILE startIndex < minStrLength

    DO

SET endIndex = startIndex + 1;

        WHILE endIndex<=minStrLength

        DO

SELECT SUBSTR(shortStr,startIndex+1,endIndex-startIndex) into tempStr from DUAL;

              SELECT INSTR(longStr, tempStr ) into cmpInt FROM dual;

-- select startIndex,endIndex,tempStr,tempResult,cmpInt;

             IF (cmpInt>0) AND (CHAR_LENGTH(tempResult)

SET tempResult=tempStr;

             END if;

             SET endIndex = endIndex + 1;

       end WHILE; -- endIndex while

set startIndex = startIndex + 1;

    end while; -- startIndex WHILE

   set resultStr=tempResult;

SELECT CHAR_LENGTH(resultStr) INTO resultLen FROM DUAL;

   -- set resultLen= CHAR_LENGTH(resultStr);

   -- select @resultLen,@resultStr;

END$$

DELIMITER ;

看完上述内容,你们对Mysql获得两个字符串中最大相同子串的示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mysql中innobackupex如何备份还原单个库
下一篇:DDL、DML、DCL概念以及数据的提交是怎么样的
相关文章

 发表评论

暂时没有评论,来抢沙发吧~