M_NAME     PROCESS_NAME PRO_SERIAL   STARTDATE          ENDDATE          ELAPSED_TIME
F/T_L3_F/T24 F/T W0A310HQ   2010-3-1          2010-3-2 8:51:49 118309
F/T_L3_F/T25 F/T W0A2QGHM   2010-3-1 16:34:45 2010-3-1 17:15:37 2452
F/T_L3_F/T25 F/T W0A2QGUG   2010-3-1 21:16:14 2010-3-1 21:56:55 2441
F/T_L3_F/T25 F/T W0A2SCY3   2010-3-1 22:30:19 2010-3-1 22:50:37 1218SELECT * FROM TEST T
WHERE T.STARTDATE >= TO_DATE('2010-1-1 00:00:00','YYYY-MM-DD HH24:MI:SS')
AND T.ENDDATE < SYSDATE请问以上表,怎么样去掉STARTDATE=2010-3-1这行数据
谢谢

解决方案 »

  1.   

    SELECT * FROM TEST T
    WHERE T.STARTDATE >= TO_DATE('2010-1-1 00:00:01','YYYY-MM-DD HH24:MI:SS')
    AND T.ENDDATE < SYSDATE改成01秒就可以了
      

  2.   

    应该是这样
    SELECT * FROM TEST T
    WHERE T.STARTDATE >= TO_DATE('2010-3-1 00:00:01','YYYY-MM-DD HH24:MI:SS')
    AND T.ENDDATE < SYSDATE
      

  3.   

    加一个条件就行了
    SELECT *
      FROM TEST T
     WHERE T.STARTDATE >= TO_DATE('2010-1-1 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND
           T.ENDDATE < SYSDATE AND
           T.STARTDATE <> DATE '2010-03-01'
      

  4.   

    这个表一共有1700000多行数据,我只是拿了其中几行,不一定只有2010-3-1,我只是想去掉STARTDATE中没有小时分钟秒的数据
    谢谢
      

  5.   

    SELECT *
      FROM TEST T
     WHERE T.STARTDATE >= TO_DATE('2010-1-1 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
     AND T.ENDDATE < SYSDATE
     AND to_char(T.STARTDATE,'HH24:MI:SS') <> '00:00:00' --过滤没有小时,分,秒的
      

  6.   

    你的STARTDATE貌似是varchar2
    length(STARTDATE)<= 10