declare @starttime datetime,@Endtime datetime
set @starttime='2010-08-30 07:00:00'
set @Endtime='2010-08-30 08:00:00' SELECT * FROM Times t 
WHERE @starttime between BeginTime and EndTime 
  or  @Endtime between BeginTime and EndTime 
  or  BeginTime between @starttime and @Endtime 
  or  EndTime between @starttime and @Endtime 
BeginTime               EndTime
----------------------- -----------------------
2010-08-30 06:00:00.000 2010-08-30 07:20:00.000
2010-08-30 07:30:00.000 2010-08-30 07:50:00.000
2010-08-30 07:55:00.000 2010-08-30 08:30:00.000
2010-08-30 04:30:00.000 2010-08-30 09:00:00.000
2010-08-30 07:00:00.000 2010-08-30 08:00:00.000(5 行受影响)

解决方案 »

  1.   

    declare @starttime datetime,@Endtime datetime
    set @starttime='2010-08-30 07:00:00'
    set @Endtime='2010-08-30 08:00:00' SELECT * FROM Times 
    where @Endtime>=BeginTime and @starttime<=EndTime/**
    BeginTime               EndTime
    ----------------------- -----------------------
    2010-08-30 06:00:00.000 2010-08-30 07:20:00.000
    2010-08-30 07:30:00.000 2010-08-30 07:50:00.000
    2010-08-30 07:55:00.000 2010-08-30 08:30:00.000
    2010-08-30 04:30:00.000 2010-08-30 09:00:00.000
    2010-08-30 07:00:00.000 2010-08-30 08:00:00.000(5 行受影响)
    **/
      

  2.   

    --存储过程
    Create Proc p_Times
    As
    Declare @starttime DateTime,@Endtime DateTime
    Select @starttime='2010-08-30 07:00:00'
    Select @Endtime='2010-08-30 08:00:00'  
    Select * From Times 
    Where @Endtime>=BeginTime And @starttime<=EndTime
    Go--调用存储过程
    Exec p_Times
    Go