分类: Mysql/postgreSQL
2011-07-19 20:36:37
系统函数
MySQL的内置函数可以分为以下几类:
算术函数 比较函数/测试函数/分支函数 类型转换函数 字符串处理函数 日期与时间函数 group by函数 其他函数
算术函数(示例):
select truncate(12.34,1); select abs(-12); select ceiling(12.4); select floor(12.4); select rand(); select ceiling(rand()*10);
比较函数/测试函数/分支函数(示例):
select coalesce(null,2,3); select greatest(1,2,3); select greatest('a','b','c'); select if(2>1,'true','false'); select ifnull(null,'default'); select isnull(null);
类型转换函数(示例):
select convert('a', char); select convert('中文' using latin1);
字符串处理函数(示例):
select char_length('123'); select concat('a','b','c'); select instr('this is a test','is');
日期与时间函数(示例):
select curdate(); select curtime(); select now(); select adddate(now(),4); select date_format(now(),'%Y年%m月%d日');
其他函数(示例):
select database(); select current_user(); select version();
创建第一函数
//函数实现2个数相加
delimiter // //更改命令结束符为//
create function myfc(x int,y int)
returns int NO SQL
beign
set x =5;
return x + y;
end
//
select myfc(1,2) //调用
示例-:
create function fun1()
-> returns int
-> begin
-> declare s int;
-> set s=myfc(2, 3);
-> return s;
-> end$$
示例2:
create function fun2()
-> returns int
-> begin
-> declare s int default fun1();
-> return s;
-> end$$
示例3:
create function str_fun(s1 varchar(200),s2 varchar(20),s3 varchar(10))
returns varchar(200)
begin
declare pos int;
declare ss varchar(200);
set pos=instr(s1,s2);
if (pos>0) then
set ss=insert(s1,pos,length(s2),s3);
return ss;
else
return '';
end if;
end;