mysql 编写函数及存储过程
新建函数
语法:
DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ FUNCTION `datacenterv2`.`functionName`() -- 括号中填写参数,格式是:参数名 类型 ,如 dRe int RETURNS TYPE -- 返回值类型 BEGIN -- 语句 END$$ DELIMITER ;
if 函数
IF(sIsByArea = '0') THEN SELECT IFNULL(DATE_FORMAT(`AddTime`,'%Y-%m-%d'),'') FROM tb_avgprice WHERE ProvinceID = sIsByArea ORDER BY `AddTime` DESC LIMIT 1 INTO dRe; ELSE SELECT IFNULL(DATE_FORMAT(`AddTime`,'%Y-%m-%d'),'') FROM tb_avgprice WHERE ProvinceID != '0' ORDER BY `AddTime` DESC LIMIT 1 INTO dRe; IF (dRe='' ) THEN SELECT DATE_FORMAT(FN_GetFisrtDateOfValidatedPrice(),'%Y-%m-%d') INTO dRe; END IF; END IF;
上述代码中包含了
if 函数的用法
if 表达式 then 语句 end if
if 表达式 then 语句 else 语句 end if
if 表达式 then 语句 elseif 语句 else 语句 end if
注意:endif结束后,记得加;
ifnull 的用法
判断是否为null ,如果是 ,则返回第二个参数
IFNULL(expr1,expr2)
select expr1 into dRe
dRe是变量
select expr1 limit 1
查询第一条
转换日期格式
date_format函数
date_format(日期,'%Y-%m-%d')
调用自定义函数
select 函数名
在自定义函数的语句中调用自定义函数