Oracle下日期偽列巧用

2021-05-26 09:28:06 字數 1117 閱讀 8253

以「天」為單位

select to_char(min_date+rownum-1,'yyyy-mm-dd') datestr

from

( select to_date('2011-06-07','yyyy-mm-dd') max_date,to_date('2011-06-01','yyyy-mm-dd') min_date

from dual

)connect by rownum<=(max_date-min_date)

以「月」為單位

select to_char(add_months(to_date('2011-06-01','yyyy-mm-dd'),rownum-1),'yyyy-mm-dd') datestr

from dual

connect by rownum<=months_between(to_date('2011-06-01','yyyy-mm-dd'),to_date('2011-01-01','yyyy-mm-dd'))

以「季度」為單位

select to_char(add_months(to_date('2011-01-01','yyyy-mm-dd'),(rownum-1)*3),'yyyy-mm') datestr

from dual

connect by rownum<=(months_between(to_date('2011-10-01','yyyy-mm-dd'),to_date('2011-01-01','yyyy-mm-dd'))/3)

以「年」為單位

select to_number(substr('2009-01-01',0,4))+rownum-1 datestr

from dual

connect by rownum<=to_number(substr('2011-01-01',0,4))-to_number(substr('2009-01-01',0,4))

oracle的偽列以及偽表

oracle系統為了實現完整的關聯式資料庫功能,系統專門提供了一組成為偽列 pseudocolumn 的資料庫列,這些列不是在建立物件時由我們完成的,而是在我們建立時由oracle完成的。那麼oracle的偽列以及偽表是怎麼樣的呢?接下來就為大家詳細講解oracle的偽列以及偽表。oracle目前有...

ORACLE中的偽列

oracle 中的偽列 偽列就像表中的列一樣,但是在表中並不儲存。偽列只能查詢。不能進行增刪改工作。rownum與rowid不同,rowid是插入記錄時生成,rownum是查詢資料時生成。rowid標識的是行的實體地址。rownum標識的是查詢結果中的行的次序。1.rowid 表中的每一行記錄都有乙...

Oracle的偽列說明

1 rownum是對結果集加的乙個偽列,即先查到結果集之後再加上去的乙個列 強調 先要有結果集 簡單的說 rownum 是對符合條件結果的序列號。它總是從1開始排起的。所以你選出的結果不可能沒有1,而有其他大於1的值,這是為什麼oracle的偽列rownum不支援 between.and,而都用 比...