我想在oracle数据库中创建一个函数。在女巫我想从所选日期获得前一天的日期,如果选择的日期是"星期一"然后我想选择"星期五"的日期作为上一个工作日的上一个日期。
答案 0 :(得分:2)
试试这个:
CREATE OR REPLACE FUNCTION PREVIOUS_WORKING_DAY(pDate IN DATE)
RETURN DATE
IS
strDay_of_week VARCHAR2(50);
dtPrev DATE;
BEGIN
strDay_of_week := TRIM(TO_CHAR(pDate, 'DAY'));
CASE strDay_of_week
WHEN 'MONDAY' THEN
dtPrev := TRUNC(pDate) - INTERVAL '3' DAY;
WHEN 'SUNDAY' THEN
dtPrev := TRUNC(pDate) - INTERVAL '2' DAY;
ELSE
dtPrev := TRUNC(pDATE) - INTERVAL '1' DAY;
END CASE;
RETURN dtPrev;
END PREVIOUS_WORKING_DAY;
分享并享受。