表其中有三个列  
planDate             startTime               endTime
2008-10-23 8:00      8:00                    9:00planDate为培训日期,startTime为培训时间          endTime为结束时间培训日期里面带有开始时间,现在我要查询已经结束的培训
也就是培训日期去掉时间后,再加上结束时间 < 当前时间
这个SQL语句请问怎么写?

解决方案 »

  1.   

    你想要什么结果
    没有结束的是不是endtime为null?
      

  2.   

    SELECT *
      FROM YOURTABLE
     WHERE TO_DATE(TO_CHAR(PLANDATE, 'yyyy-mm-dd ') || ENDTIME,
                   'yyyy-mm-dd hh24:mi') < SYSDATE;
      

  3.   

    select * from tableA where to_char(plandate,'yyyy-mm-dd')||to_char(endtime-starttime,'hh24:mi')<to_char(sysdate,'yyyy-mm-dd hh24:mi');
      

  4.   


    select *
      from tableA
     where to_char(plandate, 'yyyy-mm-dd') ||
           to_char(endtime, 'hh24:mi') <
           to_char(sysdate, 'yyyy-mm-dd hh24:mi');