IT源码网

mysql随机字符串函数讲解

xmjava 2021年02月13日 数据库 185 0
 drop function if exists rand_str; 
 delimiter $$ 
 create function rand_str(size int,ran_type int) returns varchar(256) charset 'utf8' 
begin 
    # 定义接收初始化类型 
    declare seed varchar(255) ; 
    # 定义初始化数字 
    declare seed_numbers varchar(20) default '1234567890'; 
    # 定义初始化字母  不使用小写的原件是因为0和O 1和l 区分不出 
    declare seed_letter varchar(20) default 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
    # 定义返回字符串 
    declare return_seed varchar(255) default ''; 
    # 定义循环次数 
    declare i int default 0; 
    #进行设置类型   case 根据ran_type进行判断使用哪个初始化 
    set seed=case ran_type  
            #如果ran_type为1时 返回初始化数字 
            when 1 then seed_numbers 
                #如果ran_type为2时 返回初始化字母 
            when 2 then seed_letter 
                #否则 返回初始化数字+初始化字母 
            else concat(seed_letter,seed_numbers) 
            end; 
    # 进行循环 
    while i<size do 
            # 设置return_seed=return_seed+随机初始化 
            set return_seed=concat(return_seed,substring(seed,floor(rand()*length(seed)+1),1)); 
            # 进行i+1; 
            set i=i+1; 
             
            end while; 
return return_seed; 
            end ; 
delimiter ;

 

发布评论
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

MySQL中的if和case语句使用总结讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。