【发布时间】:2019-10-14 19:16:14
【问题描述】:
本质上,我的部分功能是找到名为 Days_Stayed 的局部变量的平均值,它是 Departure_Date 和 Arrival_Date 的减法。 REGISTRATION 表只存储人到达和离开的日期,而不是停留时间本身。
我的问题是当客户停留超过一次时会发生这种情况,因此有多个 Departure_Dates 和 Arrival_Dates。如果有意义的话,平均值由每个减法的结果的总和组成。
CREATE OR REPLACE FUNCTION
(p_CustomerCode CHAR)
RETURN VARCHAR2
IS
v_Output VARCHAR2(100);
Days_Stayed DATE;
BEGIN
--SELECT STATEMENT FROM REGISTRATION TABLE--
IF Registration_Status = 'R' THEN
Days_Stayed = Departure_Date - Arrival_Date;
v_Output := (SELECT TO_CHAR(AVG(Days_Stayed), 'Day')
FROM REGISTRATION WHERE Customer_Code = p_CustomerCode),
--other columns
如果有人能帮我解决这个问题,将不胜感激!
【问题讨论】: