创建自已的sql函数

# 随机产生字符串

#rand_string(n INT) rand_string 是函数名 (n INT) //该函数接收一个整数
create function rand_string(n INT)
returns varchar(255) #该函数会返回一个字符串
begin
#chars_str定义一个变量 chars_str,类型是 varchar(100),默认值'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ';
declare chars_str varchar(100) default
'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ';
declare return_str varchar(255) default '';
declare i int default 0;
while i < n do
set return_str =concat(return_str,substring(chars_str,floor(1+rand()*52),1));
set i = i + 1;
end while;
return return_str;
end;

# 随机产生部门编号
delimiter $$
drop function rand_num $$

#这里我们又自定了一个函数
create function rand_num( )
returns int(5)
begin
declare i int default 0;
set i = floor(10+rand()*500);
return i;
end $$

在php中的使用例子:

$con=mysql_connect('localhost','root','password');

if(!$con){ die('连接失败'); }

mysql_select_db('temp');

$sql = "select rand_string(6)  as rand_string from dual;"    //dual表是亚元表,实际不存在的表

$res = mysql_query($sql.$con);

if($res == mysql_fetch_assoc($res)){

  echo $res;

posted @ 2018-08-26 12:06  Typical_me  阅读(152)  评论(0编辑  收藏  举报