详细情况是这样的,一条数据,比如一条车辆运行记录,有到达时间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
解决方案 »
- 怎样找到查询速度和插入速度的平衡点呢?
- 求一SQL语句写法
- sysdate的问题
- 请问 "ORA-01536:space quota exceeded for tablespace 'POST_INDX'"是表示什么,如何解决问题?急!
- 如何一次性取出某个表的10条记录,而这个表的字段包含clob大字段
- 这个问题逻辑关系可能比较复杂
- 冒昧的问个问题,大家不要打我!!!
- 急需!!!求助SQL语句(在线等待)
- 如果我有n个表, 我要比较2条记录的是否一致并找出不一致的.
- 想编写一个类似SQL SERVER的表值函数,不知ORACLE如何实现,请高手帮忙
- 请教排序的写法
- ?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