不用函数,在SQL里写两个时间范围有交集则成立例如:
start_date_time  stop_date_time 两个字段判断[start_date_time  stop_date_time]与[20100628 07  20100629 08]存在交集则成立!

解决方案 »

  1.   

    stop_date_time - 20100626 07 或 20100629 08 - start_date_time 存在大于0,即存在交集。
      

  2.   

    根据LZ的意思就是说,在一张表中查询,这两个字段,和给定的两个时间是否存在交集
    SQL如下SELECT stop_date_time,start_date_time FROM TEMP_TABLE
    INTERSECT
    SELECT '20100626 07' AS stop_date_time,'20100629 08' AS start_date_time 
      FROM TEMP_TABLE2
      

  3.   

    if ((start_date_time >= to_date('20100626 070101','YYYYMMDD HH24MiSS')
    && start_date_time <= to_date('20100629 080101','YYYYMMDD HH24MiSS'))
    ||
    (stop_date_time >= to_date('20100626 070101','YYYYMMDD HH24MiSS')
    && stop_date_time <= to_date('20100629 080101','YYYYMMDD HH24MiSS')))
      

  4.   

    使用between,stop_date_time,start_date_time  两个时间都在你说的时间条件中就符合条件
    :)
      

  5.   

    这么都这么麻烦 直接 判断 20100628 07 在[start_date_time stop_date_time]之间, 或者20100629 08在[start_date_time stop_date_time]之间 。就有交集
      

  6.   


    start_date_time stop_date_time]与[20100628 07 20100629 08where 20100629 08>=start_date_time and 20100628<=stop_date_time即可

      

  7.   

    SELECT * 
    FROM TEMP_TABLE
    WHERE  ( ('20100626' BETWEEN start_date_time AND stop_date_time) OR ('20100628' BETWEEN start_date_time AND stop_date_time) )
      

  8.   

    SELECT *  
    FROM TEMP_TABLE
    WHERE ('20100626' BETWEEN start_date_time AND stop_date_time) OR ('20100628' BETWEEN start_date_time AND stop_date_time) or ('20100626' <start_date_time and '20100628' > stop_date_time)
      

  9.   

    SELECT *   
    FROM TEMP_TABLE
    WHERE not('20100628'<start_date_time  or '20100626'>stop_date_time)
      

  10.   


    少考虑了一种情况,[start_date_time stop_date_time]在[20100628 07,20100629 08] 之间, 也有可能的啊,所以要或一下第二种情况。