日期:2014-05-17  浏览次数:20815 次

[Oracle] 一个求汇总时间的问题. . . 求教!
本帖最后由 Lin_ms 于 2013-01-08 16:54:34 编辑
表tableA里面有开始工作时间 time_s 和结束工作时间 time_t, 其余时间都是休息时间:

     time_s                 time_t
20130102080000          20130103200000
20130105090000          20130106180000
20130107140000          20130107210000
        ...                              ....
        ...                              ....
给定一个时间,比如当前(20130108165000), 求截止到当前,休息时间总共为多少天?
这个SQL语句应该怎么写呢?大家帮帮忙, 先谢了!
Oracle SQL 时间汇总

------解决方案--------------------
带小数的
 

select to_date(substr('20130103200000',1,4)
------解决方案--------------------

'-'
------解决方案--------------------
substr('20130103200000',5,2)
------解决方案--------------------
'-'
------解决方案--------------------
substr('20130103200000',7,2)
------解决方案--------------------

' '
------解决方案--------------------
substr('20130103200000',9,2)
------解决方案--------------------
':'
------解决方案--------------------
substr('20130103200000',11,2)
------解决方案--------------------

':'
------解决方案--------------------
substr('20130103200000',13,2),'yyyy-mm-dd hh24:mi:ss')

 - 
 to_date(substr('20130102080000',1,4)
------解决方案--------------------

'-'
------解决方案--------------------
substr('20130102080000',5,2)
------解决方案--------------------
'-'
------解决方案--------------------
substr('20130102080000',7,2)
------解决方案--------------------

' '
------解决方案--------------------
substr('20130102080000',9,2)
------解决方案--------------------
':'
------解决方案--------------------
substr('20130102080000',11,2)
------解决方案--------------------

':'
------解决方案--------------------
substr('20130102080000',13,2),'yyyy-mm-dd hh24:mi:ss')