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 函數名

在自定義函數的語句中調用自定義函數

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM