0

私は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;

私の問題は、SQL と関数に非常に慣れていないため、関数のローカル変数にパラメーターを追加する方法がわからないことです。そのため、どこにも到達していません...これは非常に簡単で、私はSQLが苦手なだけです。

4

3 に答える 3

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;
 /
于 2016-08-25T13:39:18.200 に答える
-1

MS SQL を使用している場合は、DATEADD を使用してください: http://www.w3schools.com/sql/func_dateadd.asp

例:

DECLARE SevenDaysFromNow DATETIME = DATEADD(d,7,GETDATE())
于 2013-10-16T22:29:07.943 に答える
-1

Transact-SQL (SQL Server) は非常に単純なソリューションを提供し、ストアド プロシージャは必要ありません。

SELECT GETDATE() + 7;

私のタイムゾーンで与える:

2013-10-24 00:29:54.137
于 2013-10-16T22:30:20.013 に答える