有一列有五种数据: 0人工、1支撑、2渠道、3设备、4管线当列的值为3的时候查询从8:30到21:00的数据,其他的时候查询8:30-18:30的数据!那个sql语句怎么写啊?

解决方案 »

  1.   

    select * from tb
    where (col = 3 and 时间 between '08:30' and '21:00') or (col <> 3 and 时间 between '08:30' and '18:30')
      

  2.   


    select * from tb
    where col = 3 and 时间 between '08:30' and '21:00'
    union all
    select * from tb
    where col <> 3 and 时间 between '08:30' and '18:30';
      

  3.   

    select * from tb
    where (col = 3 and 时间 between '08:30' and '21:00') or (col <> 3 and 时间 between '08:30' and '18:30')
      

  4.   

    爱新觉罗 SO GOOD MAN