2017-07-13 34 views
0

我試圖簡單地在DB2 9.1中創建一個SQL函數(這是舊的)。 我試圖將布爾值作爲返回值,但數據庫版本不支持它,所以我去了整數。 該功能只會檢查所選日期是否不在週末。檢查SQL函數中的有效工作日

Error: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END-OF-STATEMENT;6 
      then return 0;<delim_semicolon>, DRIVER=4.7.85 
SQLState: 42601 
ErrorCode: -104 

我做錯了什麼?

create function checkIfValidWorkingday(variable_date date) 
    returns int 
    begin atomic 
     if dayofweek_iso(variable_date) = 6 
      then return 0; 
     else if dayofweek_iso(variable_date) = 7 
      then return 0; 
     else return 1; 
     end if; 
    end 
end 
+0

你缺少一個分號。 – mustaccio

回答

0

嘗試:

create function checkIfValidWorkingday(variable_date date) 
returns int 
language SQL 
specific checkIfValidWorkingday 
deterministic no external action 
    return case when dayofweek_iso(variable_date) between 6 and 7 then 0 else 1 end