創建自已的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;
}
創建自已的sql函數