STAT_DATE  TIME SKILL
2010-3-19          17 1
2010-3-19         17 0
2010-3-20          15 2
2010-3-20  16 0
2010-3-20  16 2
2010-3-19          16 0
2010-3-24          18 1
2010-3-24          18 5
2010-3-25          15 2
2010-3-25          16 2
2010-3-25          20 0
2010-3-25          20 1
2010-3-25          20 5
2010-3-26          8 8
2010-3-26          9 5
2010-3-26          10 8这种结构的表 如果想要在查询的所有结果中排除日期(STAT_DATE)为2010-3-25并且时段(TIME)为15,16点的结果,sql要怎么写

解决方案 »

  1.   

    select * from tablename where STAT_DATE != to_char('2010-3-25','yyyy-MM-dd') and 
    TIME in (15,16);
    如果STAT_DATE为date类型则to_char('2010-3-25','yyyy-MM-dd')
    改为to_date('2010-3-25','yyyy-MM-dd')
    如果STAT_DATE为varchar类型,则用上面的to_char
      

  2.   

    先查询出   日期(STAT_DATE)为2010-3-25并且时段(TIME)为15,16点
    的数据然后使用 select * from tab not exist(上面的结果)