当前位置:Gxlcms > 数据库问题 > Oracle 谓语前推导致的错误

Oracle 谓语前推导致的错误

时间:2021-07-01 10:21:17 帮助过:2人阅读

create table tab_zy_test1
(
id1 number,
date1 date,
date2 varchar2(100)
);

insert into tab_zy_test1 values (1, date ‘2018-01-01‘, ‘20180131‘);
insert into tab_zy_test1 values (2, date ‘2018-01-01‘, ‘20180228‘);
insert into tab_zy_test1
values
(2, date ‘2018-01-01‘, ‘2018/02/28 14:33:33‘);
insert into tab_zy_test1
values
(3, date ‘2018-02-01‘, ‘20180228 14:33:33‘);
commit;
insert into tab_zy_test1
values
(3, date ‘2018-02-01‘, ‘ ‘);
commit;

select *
from tab_zy_test1;


with tab_a as
(select t.id1,
t.date1,
t.date2,
row_number() over(partition by t.id1, t.date1 order by t.date2 desc) rw
from tab_zy_test1 t),
tab_b as
(select a.id1, a.date1, a.date2, a.rw from tab_a a where a.rw = 1),
tab_c as
(select b.id1, b.date1, to_date(substr(b.date2, 1, 8), ‘yyyy-mm-dd‘) date2
from tab_b b)
--select * from tab_c
,
tab_d as
(select c.date1 - c.date2 from tab_c c --where c.date1 - c.date2 < 0
)
select * from tab_d;

Oracle 谓语前推导致的错误

标签:test   har   insert   bst   sub   int   var   varchar2   oracl   

人气教程排行