データがテーブルから取得され、データに日曜日の行がなく、クエリを使用して日曜日の行を追加したい次のクエリがあります。ここに私のクエリ結果とクエリがあります
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
毎月日曜日の行を動的に作成したい.助けてください!
私のペニー(冗談のようなもの:))
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
まず、これを行うことができます: 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;
これにより、日曜日のみを含むテーブルが作成されます。これがあなたの望むものかどうかはわかりませんが、あなたの質問はかなり漠然としています。