首页  编辑  

生成随机字符串

Tags: /MySQL/   Date Created:

方法一:

select conv(floor(rand() * 99999999999999), 20, 36)

方法二:

SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 6)

方法三:

select CAST(FLOOR(RAND() * 999999999999999999) AS CHAR(18)

方法四:

在MySQL中有时需要随机生成数字或字符串,随机生产数字可直接使用rand()函数,但是要随机生成字符串就比较麻烦。

要随机生成字符串代码如下:

在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法。

随机串函数定义方法:

CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1

BEGIN

   DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

   DECLARE return_str varchar(255) DEFAULT '';

   DECLARE i INT DEFAULT 0;

   WHILE i < n DO

       SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));

       SET i = i +1;

   END WHILE;

   RETURN return_str;

END;

使用随机串函数方法示例:

select rand_string(32)