找了半天没有找到对应的函数可以使用,于是自己了一个简单的函数
DELIMITER $$ USE `test`$$ DROP FUNCTION IF EXISTS `idToChar`$$ CREATE DEFINER=`sucre`@`localhost` FUNCTION `idToChar`(`str` INT) RETURNS VARCHAR(10) CHARSET gbk BEGIN DECLARE str1 VARCHAR(1) DEFAULT ''; DECLARE return_str VARCHAR(255) DEFAULT ''; DECLARE i INT DEFAULT 1; WHILE i <5 DO SET str1 = SUBSTRING(str,i,1); CASE str1 WHEN '0' THEN SET str1 ="a"; WHEN '1' THEN SET str1 ="b"; WHEN '2' THEN SET str1 ="c"; WHEN '3' THEN SET str1 ="d"; WHEN '4' THEN SET str1 ="e"; WHEN '5' THEN SET str1 ="f"; WHEN '6' THEN SET str1 ="g"; WHEN '7' THEN SET str1 ="h"; WHEN '8' THEN SET str1 ="i"; WHEN '9' THEN SET str1 ="g"; END CASE; SET return_str = CONCAT(return_str,str1); SET i = i +1; END WHILE; RETURN return_str; END$$ DELIMITER ;
输入4个数字
SELECT idToChar(1039)
结果为
badg
没有什么难度,但是这样可以取代原先用以数字自动增长做为区分的标识,以前用ql1039做为唯一标识,现在就可以用qlbadg做为唯一标识了。
本文出自 “” 博客,请务必保留此出处