我正在尝试在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
函数返回一个空白,而不是产生最大日期。
有人可以请注意这些代码并告诉我哪里出错了吗?
答案 0 :(得分:0)
它看起来有点混乱:你将看起来像日期的东西传递给一个接受字符参数的函数。
也许你想要这样的东西?
SELECT rec_date_sf(registration) as date_rent_start,
registration
FROM i_booking
WHERE registration = 'E246WFC';