新建函數
語法:
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 函數名
在自定義函數的語句中調用自定義函數