oracle查詢下條記錄日期做為上條記錄的結束日期

2021-08-13 09:16:24 字數 1081 閱讀 6950

//查詢當前記錄的

//下一條記錄

select t.id, lead(t.id, 1, 0) over(order by t.sort,t.eidt_date) as p from cms_article t

使用lead方法,對日期字段進行排序,將查詢到的下條記錄日期追加到上條記錄上;

select t.emp_no,

t.start_date,

lead(t.start_date, 1, null) over(order by t.start_date) as end_date

from (select e1.emp_no, e1.join_organ_date start_date, e1.status

from rs_emp_entry e1

where e1.is_push = '1'

union all

select e2.emp_no, e2.bc_date start_date, '01' status

from rs_emp_change_warn_show e2

union all

select e3.emp_no, e3.start_date start_date, '04' status

from rs_emp_spro e3

union all

select e4.emp_no, e4.retire_date start_date, '03' status

from rs_emp_retirement e4) t;

結果如下:

如果需要將下條記錄的開始日期的前一天做為上條記錄的結束日期,則

lead(t.start_date, 1, null) //改為lead(t.start_date-1, 1, null)
結果:

oracle隨機查詢n條記錄

從table name表中隨機查詢3條記錄,如下 select from select from table name where 條件 order by trunc dbms random.value 1,7 temp where rownum 3 附 一 oracle trunc 函式的用法 t...

Oracle中查詢前10條記錄

在oracle 怎樣查詢表中的top10條記錄呢?select from test where rownum 10 下面是關於rownum的介紹 rownum和row number over 的使用 rownum是oracle從8開始提供的乙個偽列,是把sql 出來的結果進行編號,始終從1開始,常見...

oracle 日期查詢

1.string hql select substr to char create time,yyyy mm dd hh24 mm ss 1,10 count createtime from sitebean where to char createtime,yyyy mm dd to char t...