表中有两个字段
startTime              endTime
2007-11-07 12:50:00    2007-11-07 18:50:00
2007-11-07 18:50:00    null
带入一个时间变量来查询,如果现在用 2007-11-07 19:50:00
来查询就查不出来数据,我想要的就是如果endTime=null,就那当前时间来替换他在用‘2007-11-07 19:50:00’>startTime 
and ‘2007-11-07 19:50:00’ <endTime来查询,
注明:是在存储过程中完成,
请各位大虾来解决一下啊,
在线急等

解决方案 »

  1.   

    select * from [Table] 
    where @s between starttime and isnull(endtime,getdate())
      

  2.   

    create table t
    (
    id int identity(1,1),
    startTime datetime,
    endTime datetime
    )
    insert into t 
    select '2007-11-07   12:50:00','2007-11-07   18:50:00' UNION ALL
    select '2007-11-07   18:50:00',null declare @t DateTime
    SET @t = '2007-11-07   19:50:00'SELECT * FROM t
       WHERE @t > StartTime AND @t<ISNULL(endTime,GetDate())DROP TABLE tid          startTime               endTime
    ----------- ----------------------- -----------------------
    2           2007-11-07 18:50:00.000 NULL(1 行受影响)