簡體   English   中英

MySQL function 返回錯誤值

[英]MySQL function is returning wrong value

我有一個帶有 4 個參數的 function,例如,如果我為類型為 DATE 的第一個參數設置 null/空值,我得到結果 2 而不是 1。

SET @p0=''; SET @p1=''; SET @p2=''; SET @p3=''; SELECT `MY_FN`(@p0, @p1, @p2, @p3) AS `MY_FN`;

我的代碼:

BEGIN
 IF PARAM1_DATE IS NULL or PARAM1_DATE='' THEN 
        SET @STATUS = 1;
    ELSE 
        SET @STATUS = 2;
    END IF;
    
    
    RETURN @STATUS;
END

我也試過 ISNULL(NULLIF(PARAM1_DATE,'') 同樣的結果

參數驗證在執行 function 代碼之前發生,您需要確保在對 function 的調用中傳遞有效日期(如果這是 param1_date 數據類型)。如果您想傳遞任何舊垃圾,則定義為 char 並在中進行測試function..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM