您的位置:首页 > 数据库 > MySQL

用MySQL 生成随机密码

2009-09-12 00:05 405 查看
晚上有朋友问起,简单的写了一个。

DELIMITER $$

CREATE

    FUNCTION `t_girl`
.
`func_rand_string`
(
f_num tinyint
 unsigned
,
f_type tinyint
 unsigned
)

    RETURNS varchar
(
32)

    BEGIN

      -- Translate the number to letter.

      -- No 1 stands for string only.

      -- No 2 stands for number only.

      -- No 3 stands for combination of the above.

      declare i int
 unsigned
 default
 0;

      declare v_result varchar
(
255)
 default
 ''
;

      while i <
 f_num do

        if f_type =
 1 then

          set
 v_result =
 concat
(
v_result,
char
(
97+
ceil(
rand
(
)
*
25)
)
)
;

        elseif f_type=
2 then

          set
 v_result =
 concat
(
v_result,
char
(
48+
ceil(
rand
(
)
*
9)
)
)
;

        elseif f_type=
3 then

          set
 v_result =
 concat
(
v_result,
substring
(
replace
(
uuid
(
)
,
'-'
,
''
)
,
i+
1,
1)
)
;

        end
 if;

        set
 i =
 i +
 1;

      end
 while;
 

      return v_result;

    END
$
$

DELIMITER ;


调用方法示例:

select func_rand_string(12,3);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: