我有以下查询,其中数据来自表,并且数据中没有星期天的行,我想使用查询添加星期天的行。这是我的查询结果和查询
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;
这将创建一个只有星期天的表。我不确定这是否是您想要的,但您的问题相当模糊。