在MYSQL中生成小于等于15位的随机数(码),使用函数来实现:
CREATE FUNCTION `getRand`(counts INTEGER) RETURNS varchar(20) CHARSET utf8
BEGIN
DECLARE sTemp VARCHAR(20);
DECLARE sTempCounts INTEGER;
SET sTemp = ROUND(ROUND(RAND(),counts)*(POW(10,counts)));
IF(CHAR_LENGTH(sTemp)
SET sTempCounts = counts - CHAR_LENGTH(sTemp);
SET sTemp =CONCAT(sTemp,RIGHT(CONCAT(POW(10,sTempCounts),''),sTempCounts));
END IF;
IF (CHAR_LENGTH(sTemp)>counts) then
SET sTemp = RIGHT(sTemp,counts);
END IF;
return sTemp;
END;
使用该函数查询结果见下图: