uj5u.com熱心網友回復:
有沒有人啊,求助啊uj5u.com熱心網友回復:
select date '2016-06-29' + rownum - 1 ddate,
trunc(trunc(date'2016-06-29' + rownum - 1),'mm') monstart,
trunc(last_day(date'2016-06-29' + rownum - 1)) monend
from dual
connect by rownum < date '2030-12-31' - date '2016-06-29' + 1;
uj5u.com熱心網友回復:
多謝,可是怎么把查詢出來的結果,插入到表里呢,將來這張維度表要一直用到。
uj5u.com熱心網友回復:
create table test(ddate date, monstart date, monend date);
insert into test(ddate, monstart, monend)
select date '2016-06-29' + rownum - 1 ddate,
trunc(trunc(date'2016-06-29' + rownum - 1),'mm') monstart,
trunc(last_day(date'2016-06-29' + rownum - 1)) monend
from dual
connect by rownum < date '2030-12-31' - date '2016-06-29' + 1;
uj5u.com熱心網友回復:
也可以換成level的形式。
create table test(dtime date, dt_start date, dt_end date);
insert into test(dtime, dt_start, dt_end)
with tmp as
(select to_date('2016-06-29','yyyy-mm-dd') dtime from dual)
select dtime + level - 1 dtime,
trunc(trunc(dtime)+ level - 1,'mm') dt_start,
trunc(last_day(dtime+ level - 1)) dt_end,
from tmp
connect by level <= date '2030-12-31' - dtime + 1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/82546.html
標籤:開發
上一篇:Oracle卸載問題
下一篇:MySql資料庫精簡與綠色啟動
