批量生成随机手机号码的存储过程和自定义函数
DELIMITER $$
USE `gem`$$
DROP FUNCTION IF EXISTS `getRand`$$
CREATE FUNCTION `getRand`(counts INTEGER) RETURNS VARCHAR(20)
BEGIN
DECLARE sTemp VARCHAR(20);
DECLARE sTempCounts INTEGER;
SET sTemp = CONCAT( ROUND(ROUND(RAND(),counts)*(POW(10,counts))),'');
IF(CHAR_LENGTH(sTemp)<counts) THEN
SET sTempCounts = counts - CHAR_LENGTH(sTemp);
SET sTemp = CONCAT(sTemp, RIGHT(CONCAT(POW(10,sTempCounts),''),sTempCounts));
END IF;
RETURN sTemp;
END$$
DELIMITER ;
以上是自定义函数的随机生产功能!多少位自己调用时指定即可,如下:
SELECT CONCAT(159,getRand(8));--此处自定义引用使用8位;同样也可以自定义其他位数,但是不能超过20位;
DELIMITER $$
CREATE PROCEDURE gems()
BEGIN
DECLARE codes INT;
SET codes=1;
WHILE codes<1000 DO
INSERT INTO tele SELECT CONCAT(159,getRand(8));
SET codes=codes+1;
END WHILE;
END;
以上自定义的为生产tele表内的手机位数!
CALL gems();调用即可生产!记住建表的时候,存储手机号自动的需为字符类型,不能为整型,否则会出现错误定义!
补充:综合编程 , 其他综合 ,