mysql随机字符串函数

mysql随机字符串函数

 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 ;

 

posted @ 2018-09-19 11:07 韦邦杠 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值