2013-10-16 47 views
0

我對SQL開發人員編程非常陌生,我真的不知道所有的代碼是如何編寫的,我需要一些幫助。 我需要做一個簡單的函數返回是假設落得這樣的回覆日期:SQL函數。返回日期+幾天

SQL> SELECT get_returndate(7) 
    FROM dual; 
_________ 
GET_RETURNDATE(7) 
---------------------------- 
2013-10-21:23:59 
___ 

它想採取1個參數,然後返回sysdate + parameter的日期。

這是我得到

create or replace 
    function get_retdate(
    p_days number) 
    return date 
    as 
    v_retdate date; 
    v_currdate date := sysdate; 
    begin 
    select v_date + p_days 
    into v_retdate 
    return 
    from dual; 
    end; 

我的問題是,我不知道如何參數的功能,因爲IM到SQL和功能很新添加到本地變量,所以我的天堂」 t在任何地方......我敢打賭,這很容易,我只是不善於SQL。

+2

由於您使用的Oracle你只需鍵入:'SELECT SYSDATE + 7 FROM DUAL;'。你可以把它包裝在一個函數中,但我不明白爲什麼你會打擾。 – Kittoes0124

回答

-1

的Transact-SQL(SQL服務器)提供了一個非常簡單的解決方案,不需要存儲過程:

SELECT GETDATE() + 7; 

給出我的時區:

2013-10-24 00:29:54.137 
0

我歡迎你的初學者嘗試在Oracle編程,你在哪裏接近它。但是您必須查看手冊。

這裏是你如何去了:

create or replace function get_retdate(p_days number) 
return date 
as 
    v_retdate date; 
    v_currdate date := sysdate; 
begin 
    select v_currdate + p_days into v_retdate from dual; 
    return v_retdate; 
end get_retdate; 
/