datediff(day,@date1,日期)>=0 and datediff(day,日期,@date2)>=0

解决方案 »

  1.   

    --要求所有日期介于@date1 0:00 和 @date2 23:59:59 的记录
    不太明白??所有的时间都是介于它们之间的呵
    --如果要求所有日期介于@date1 0:00 和 @date2 12:19:46 的记录,可如下:
    declare @t_a table(id int identity(1,1),curdate datetime)
    insert into @t_a select '2004-09-09 20:19:46'
    union all select '2004-09-09 12:19:46'
    union all select '2004-09-09 00:00:00'
    select * from @t_a
    where substring(convert(varchar(50),curdate,120),12,8) between '00:00:00' and '12:19:46'
      

  2.   

    where 日期>=@date1  and @date1 <dateadd(day,1,@date2)
      

  3.   

    --要得到某日的最大時間,先給日期加1天,再減去1秒declare @date1 datetime,@date2 datetime
    set @date1=cast('2004-09-01 00:00:00' as datetime)
    set @date2=cast('2004-09-20 00:00:00' as datetime)set @date2=dateadd(ss,-1,@date2)
    print convert(varchar(20),@date2,120)select * from ta where 日期 between @date1 and @date2