在 oracle 中插入最后 30 个日期 table

insert the last 30 date in an oracle table

我需要创建一个 table,其中我们有一个日期列。我需要插入从昨天到昨天的日期 - 30 days.Table 输出应该如下所示

有一种方法可以创建 table 并单独输入每个日期。

create table test 
(

c_date date
)

insert into test values (trunc(sysdate)-1);
insert into test values (trunc(sysdate)-2);
insert into test values (trunc(sysdate)-3);
insert into test values (trunc(sysdate)-4);
insert into test values (trunc(sysdate)-5);
.....
insert into test values (trunc(sysdate)-30);

什么是有效的方法。

您可以使用分层查询,例如

CREATE TABLE test AS
 SELECT TRUNC(sysdate) - level AS "date"
   FROM dual
CONNECT BY level <= 30

或者最好直接使用没有第一行的查询 (CTAS) 作为主查询的子查询