0
我可以使用to_number(to_char())函數來排除日期範圍內的所有周末嗎?oracle pl/sql:用於週末排除的datepart()函數
例如,我的表格中有兩個日期列,例如開始和結束('06/06/2011 10:00:00 am'),我想估計完成的持續時間開始排除週六和週日。
我可以使用to_number(to_char())函數來排除日期範圍內的所有周末嗎?oracle pl/sql:用於週末排除的datepart()函數
例如,我的表格中有兩個日期列,例如開始和結束('06/06/2011 10:00:00 am'),我想估計完成的持續時間開始排除週六和週日。
如果我理解你的權利,你想計算兩個日期之間的差異,但排除結果範圍內每個週末的2天。那是對的嗎?
如果這是你想要的下面的代碼應與以下假設的工作是什麼:
基本上,它只是一個問題,計算出多少個週末在日期範圍內。很明顯,每7天有一個週末。然後我們只需要檢查一下週末的範圍,如果是的話再添加一個。
FUNCION dateDiff(dt_start DATE, dt_end DATE) RETURN NUMBER
IS
raw_diff NUMBER;
weekends NUMBER;
BEGIN
raw_diff := dt_end - dt_start;
weekends := TRUNC(raw_diff/7);
IF((dt_start - TRUNC(dt_start, 'DAY'))
> (dt_end - TRUNC(dt_end , 'DAY')))
THEN
weekends := weekends + 1;
END IF;
RETURN raw_diff - (weekends * 2);
END;