下面这段内容讲解的功能是Oracle数据库中有一张表,表中存储了连续的时间记录,同时对应的还存储了一个标记位。
现在要获取一个结果集:当标记位为0时,取前一个为1的时间数据,如果标记位为1时,取当前记录的时间数据。
=================
先上干货。再解释
1、建表
create table test_date(
t_TIME varchar(20), --时间
t_ISOM number default 0 --标记
)
2、初始化数据
DELETE FROM test_date;
insert into test_date(t_TIME,t_ISOM) values('20140101',1);
insert into test_date(t_TIME,t_ISOM) values('20140102',0);
insert into test_date(t_TIME,t_ISOM) values('20140103',0);
insert into test_date(t_TIME,t_ISOM) values('20140104',0);
insert into test_date(t_TIME,t_ISOM) values('20140105',0);
insert into test_date(t_TIME,t_ISOM) values('20140106',0);
insert into test_date(t_TIME,t_ISOM) values('20140107',0);
insert into test_date(t_TIME,t_ISOM) values('20140108',1);
insert into test_date(t_TIME,t_ISOM) values('20140109',1);
insert into test_date(t_TIME,t_ISOM) values('20140110',0);
insert into

本文介绍了如何在Oracle数据库中处理连续数据,特别是当表中包含时间记录和标记位时。通过利用ROW_NUMBER()函数、Lead和Lag统计函数,可以获取特定条件下的时间数据。内容包括建表、数据处理步骤以及如何根据处理结果进行进一步的数据筛选。
最低0.47元/天 解锁文章
2502

被折叠的 条评论
为什么被折叠?



