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 ;