Select (to_number(Max(SectEndTime)-Min(SectStartTime))*24 - nvl(DayStopTime,0)) As  WorkTime,
(TimeUseRatio*0.6+ DayRunEfficient*0.4)  as  DayWorkEfficient 
From WorkDayInfo_3 ,CraneSectInfo_3 
 如上所述的语句中Max(SectEndTime) ,Min(SectStartTime) 的选择,
在数据库中 SectStartTime的插入值为2010-07-24 23:00:25,
SectEndTime的插入值可能为2010-27-25 00:12:00 ,但是选择出来显示的是2010-07-25 上午 12:12:00,
我是想要 2010-27-25 00:12:00 - 2010-07-24 23:00:25 ,但是我查询出来的数据实际上是2010-07-25 12:12:00 - 2010-07-24 23:00:25  ,这并不是我想要的结果,
请教怎样才能得到我想要的结果。急————————————————————————

解决方案 »

  1.   

    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'
    --或者
    to_date(SectEndTime,'yyyy-mm-dd hh24:mi:ss')
      

  2.   

    显示格式而已
    使用to_char转换为你要的格式(如果需要显示Max(SectEndTime)的值,可以转换成字符后显示)
    to_char(Max(SectEndTime),'yyyy-mm-dd hh24:mi:ss')
    如果你需要进行日期计算,如上面的sql语句,你不能进行转换,字符型是不能进行计算的
      

  3.   

    好像在oracle里2010-07-25 上午 12:12:00的意思就是0:12吧!如果显示的是2010-07-25 下午12:12:00就是fh真正的12:12分~