我有一张表,有六个时间字段。其中两个字段是开始时间和结束时间,其余四个字段是比较时间字段。现在需要一条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;