自定义函数
除了count()等内置函数外,可以创建一个适合自己需求的函数。
创建函数:
delimiter //
create function 函数名(参数名 类型) returns 返回值类型
begin
内部实现
end
delimiter ;
例子:生成指定长度的内容随机的字符串
第一步:创建函数
delimiter //
create function get_rand_str(length_str int) returns varchar(255)
begin
declare src_str varchar(128) default 'qazxswedcvfrtgbnhyujmkiolpQAZXSWEDCVFRTGBNHYUJMKIOLP';
declare rand_char varchar(1) default '';
declare i int default 0;
declare res_str varchar(255) default '';
declare rand_index int default 0;
while i < length_str do
set rand_index = floor( RAND()*52 + 1);
set rand_char = SUBSTR(src_str,rand_index,1);
set res_str = concat(res_str,rand_char);
set i = i + 1;
end while;
return res_str;
end //
delimiter ;
第二步:调用函数
select get_rand_str(100);
注意:
声明变量用declare,给变量赋值用set
常用循环:
while循环:
while i < 10
...执行需要循环的步骤
end while;
####一定要注意end while后加;
repeat循环:
repeat
....需要循环的语句
until i > 10
end repeat;
####注意
until后不要加;
条件语句:
delimiter //
create function max_value(a int,b int,c int) returns int
begin
declare max_int int default 0;
if a > b then
set max_int = a;
else
set max_int = b;
end if;
if max_int > c then
return max_int;
else
return c;
end if;
end //
delimiter ;