1. 程式人生 > >創建自已的sql函數

創建自已的sql函數

== sele sel abcde limit sql函數 不存在 nbsp create

# 隨機產生字符串

#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;

}

創建自已的sql函數