1. 程式人生 > >十六、xx.xx.xx格式版本號大小比較

十六、xx.xx.xx格式版本號大小比較

roo rcm varchar declare del highlight string eat exists

DELIMITER $$

USE `deshangshidai`$$

DROP FUNCTION IF EXISTS `STRCMP_MY_VERSION`$$

CREATE DEFINER=`root`@`%` FUNCTION `STRCMP_MY_VERSION`(_x VARCHAR(20), _y VARCHAR(20)) RETURNS INT(11)
BEGIN
DECLARE a, b, c, d, e, f INT;
DECLARE z INT DEFAULT 0;
SET a = SUBSTRING_INDEX(_x, ‘.‘, 1)+0, b = SUBSTRING_INDEX(_y, ‘.‘, 1)+0;
SET c = SUBSTRING_INDEX(SUBSTRING_INDEX(_x, ‘.‘, 2), ‘.‘, -1)+0, d = SUBSTRING_INDEX(SUBSTRING_INDEX(_y, ‘.‘, 2), ‘.‘, -1)+0;
SET e = SUBSTRING_INDEX(_x, ‘.‘, -1)+0, f = SUBSTRING_INDEX(_y, ‘.‘, -1)+0;
IF a > b THEN RETURN 1;
ELSEIF a < b THEN RETURN -1;
END IF;
IF c > d THEN RETURN 1;
ELSEIF c < d THEN RETURN -1;
END IF;
IF e > f THEN RETURN 1;
ELSEIF e < f THEN RETURN -1;
END IF;
RETURN z;
END$$

DELIMITER ;

  

十六、xx.xx.xx格式版本號大小比較