0
日付の範囲からすべての週末を除外するためにto_number(to_char())関数を使用できますか?週末除外のoracle pl/sql:datepart()関数
たとえば、私のテーブルには、開始時刻と終了時刻('06/06/2011 10:00:00 am 'のような)の2つの日付列があり、土曜日と日曜日を除く。
日付の範囲からすべての週末を除外するためにto_number(to_char())関数を使用できますか?週末除外のoracle pl/sql:datepart()関数
たとえば、私のテーブルには、開始時刻と終了時刻('06/06/2011 10:00:00 am 'のような)の2つの日付列があり、土曜日と日曜日を除く。
あなたが正しく理解している場合は、2つの日付の間の差異を計算したいが、結果の範囲内の各週末の2日は除外したい。あれは正しいですか?
これはあなたが以下のコードは、以下の仮定で動作するはず欲しいものである場合:
基本的には、週末にいくつの週末があるかを調べるだけです。だから明らかに7日間に1回の週末があります。そして、範囲が週末を包むかどうかをチェックし、もしそうならばもう1つ追加しなければなりません。
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;