0

特定の登録の最新のレンタル日を返すストアド関数を Oracle PL/SQL で構築しようとしています。

私の機能は次のとおりです。

CREATE OR REPLACE Function rec_date_sf(reg_in IN varchar2)
RETURN DATE
IS
  lv_max_date DATE;
Begin
  SELECT MAX(Date_Rent_Start)
    INTO lv_max_date
    FROM i_booking
   WHERE reg_in = registration;
   RETURN lv_max_date;
END;

SQL ステートメントで関数を呼び出す必要があるため、テーブルにあることがわかっている登録を使用しています。

SELECT rec_date_sf(date_rent_start), 
       registration
  FROM i_booking 
 WHERE registration = 'E246WFC';

rec_date_sfこれは、最大日付を生成するのではなく、関数に対して空白を返しています。

誰かがこのコードに目を向けて、どこが間違っているのか教えてください。

4

1 に答える 1

0

少し混乱しているようです。日付のように見えるものを、文字パラメーターを受け取る関数に渡しています。

多分あなたはこのようなものが欲しいですか?

SELECT rec_date_sf(registration) as date_rent_start, 
       registration
  FROM i_booking 
 WHERE registration = 'E246WFC';
于 2013-10-03T23:16:19.850 に答える