-1

データがテーブルから取得され、データに日曜日の行がなく、クエリを使用して日曜日の行を追加したい次のクエリがあります。ここに私のクエリ結果とクエリがあります

select bpv_date from all_dates

そして結果はこんな感じ

01-dec-2012
02-dec-2012
03-dec-2012
04-dec-2012
05-dec-2012
06-dec-2012
.
.
.
.
30-dec-2012

毎月日曜日の行を動的に作成したい.助けてください!

4

2 に答える 2

2

私のペニー(冗談のようなもの:))

select bpv_date
from all_dates
union
select bpv_date + 1 
from all_dates
where to_char(bpv_date, 'D') = 7  -- saturday for NLS_LANG='AMERICAN', otherwise use 6
于 2012-12-19T13:36:37.933 に答える
0

まず、これを行うことができます: to_char(sysdate,'DY')どの日が日曜日であるかを把握し、それをifステートメントに追加してから、次のようにループします:

 BEGIN
  FOR i IN 1..365 LOOP
    IF( to_char(sysdate-1+i,'DY') IN ('SUN') )
    THEN
      INSERT INTO MY_TABLE (ID, MY_DATE)
        VALUES (i, (to_date(sysdate,'DD-MON-YY')-1)+i);
    END IF;
  END LOOP;
END;

これにより、日曜日のみを含むテーブルが作成されます。これがあなたの望むものかどうかはわかりませんが、あなたの質問はかなり漠然としています。

于 2012-12-19T13:24:31.143 に答える