详细情况是这样的,一条数据,比如一条车辆运行记录,有到达时间2006-1-1 12:00,发车时间2006-1-13 13:00字段。由于跨了好几天
想select分别求出每天车辆的停留时间,每天18点开始做截取。怎么得到如下记录集?
原记录
车号 到达时间 发车时间
12345 2006-1-1 12:00 2006-1-13 13:00想得到如下记录
车号: 开始时间: 停止时间
12345 2006-1-1 12:00 2006-1-1 18:00
12345 2006-1-1 18:00 2006-1-2 18:00
....
12345 2006-1-12 18:00 2006-1-13 13:00
想select分别求出每天车辆的停留时间,每天18点开始做截取。怎么得到如下记录集?
原记录
车号 到达时间 发车时间
12345 2006-1-1 12:00 2006-1-13 13:00想得到如下记录
车号: 开始时间: 停止时间
12345 2006-1-1 12:00 2006-1-1 18:00
12345 2006-1-1 18:00 2006-1-2 18:00
....
12345 2006-1-12 18:00 2006-1-13 13:00
解决方案 »
- USER_IND_COLUMNS 这个表有什么作用?
- 这个SQL查询怎么写?????????????????????????????????????????????????????????????????????
- 数据查重,不连续数据
- analyze在实际应用的作用
- 随机问题
- 为什么这两条语句执行效率差这么多?
- sql语句求教!!!!
- 各位大侠,我在建索引时报错:“ORA-00054: 资源正忙,要求指定 NOWAIT”,不知应如何解决?
- 如何写如下的sql语句
- 0分征求 关于(Oracle management Server) oem的问题 的答案.
- 请教排序的写法
- ?Oracle在一个用户下面最多可以创建多少个Table?
这里的关键是得到一个天数序列。
好好想想,
:)
else trunc(&begindate) + (rownum-2) + 0.75
end ,
case when rownum =(trunc(&enddate + 0.25)-trunc(&begindate + 0.25))+1 then &enddate
else trunc(&begindate) + (rownum-1) + 0.75
end
from dual connect by rownum <= (trunc(&enddate + 0.25)-trunc(&begindate + 0.25))+11 2006-8-15 7:12:00 2006-8-15 18:00:00
2 2006-8-15 18:00:00 2006-8-16 18:00:00
3 2006-8-16 18:00:00 2006-8-17 18:00:00
4 2006-8-17 18:00:00 2006-8-18 18:00:00
5 2006-8-18 18:00:00 2006-8-19 18:00:00
6 2006-8-19 18:00:00 2006-8-20 18:00:00
7 2006-8-20 18:00:00 2006-8-20 22:48:00