SQL

MySQL生成随机字符串的两种方法

方法一: 使用MD5生成

select substring(MD5(RAND()),1,20)

结果:9ed00afe68c2a6a52112

 

方法二:自定义函数

DROP FUNCTION IF EXISTS random_str;
DELIMITER $$
CREATE FUNCTION random_str(n INT) RETURNS VARCHAR(255) 
BEGIN        
  DECLARE chars_str VARCHAR(100) 
  DEFAULT "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  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()*52),1));
      SET i= i+1;        
  END WHILE;        
  RETURN return_str;    
END $$
DELIMITER ;

生成32位字符串

SELECT random_str(32);

 

(0)

本文由 SilenceLee的学习笔记 作者:silencelee 发表,转载请注明来源!

热评文章

发表评论

解决 : *
21 × 5 =