- drop function if exists rand_string;
- create function rand_string(str_length tinyint unsigned, str_type tinyint unsigned) returns varchar(255)
- begin
- -- Function : rand_string
- -- Author : reymondtu#opencfg.com
- -- Date : 2011/03/27
- -- Params : str_length int unsigned
- -- The random string length of random string
- -- str_type int unsigned
- -- The random string type
- -- 1.0-9
- -- 2.a-z
- -- 3.A-Z
- -- 4.a-zA-Z
- -- 5.0-9a-zA-Z
- --
- -- Example :
- --
- -- mysql> select rand_string(32,5) from dual;
- -- +----------------------------------+
- -- | rand_string(32,5) |
- -- +----------------------------------+
- -- | HbPBz4DWSAiJNLt4SgExHVwQI34bI6mt |
- -- +----------------------------------+
- -- 1 row in set
- declare counter int unsigned default 0;
- declare const_chars varchar(64) default '0123456789';
- declare result varchar(255) default '';
- if str_type = 1 then
- set const_chars = '0123456789';
- elseif str_type = 2 then
- set const_chars = 'abcdefghijklmnopqrstuvwxyz';
- elseif str_type = 3 then
- set const_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
- elseif str_type = 4 then
- set const_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- elseif str_type = 5 then
- set const_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- else
- set const_chars = '0123456789';
- end if;
- while counter < str_length do
- set result = concat(result,substr(const_chars,ceil(rand()*(length(const_chars)-1)),1));
- set counter = counter + 1;
- end while;
- return result;
- end
MySQL随机字符串生成
最新推荐文章于 2023-09-06 11:20:47 发布