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

用MySQL 生成随机密码

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

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: