日期:2014-05-17  浏览次数:20879 次

sql时间区间问题
我有一张表,有六个时间字段。其中两个字段是开始时间和结束时间,其余四个字段是比较时间字段。现在需要一条SQL,查询出这四个时间字段不在开始时间和结束时间内,并且准确的指导是哪几个字段不在区间内。由于要考虑效率问题,所以不希望在程序中处理,自己尝试了很多方法,都没有实现这样的需求。大虾门给个思路!

------解决方案--------------------
试试这个样子的?
SQL code
select id,
       case
         when t1 not between start_time and end_time then '1'
       end case
       || 
       case
         when t2 not between start_time and end_time then ',2'
       end case
       || 
       case
         when t3 not between start_time and end_time then ',3'
       end case
       ||
       case
         when t4 not between start_time and end_time then ',4'
       end case
       as time_not_between
     from tab;