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 回答