select need from t_test where 
(cast(convert(varchar(8),getdate(),114) as datetime) between cast(startdate as datetime) and cast(enddate as datetime)) and mainid = ...

解决方案 »

  1.   

    那如果startdate和enddate本身就是datetime类型的呢?比如startdate是2004.12.22 00:00:00,enddate是2004.12.22 07:30:00.但不需要判定哪天,还是只判定时间。是不是也是这么写?好像取不到。谢谢!
      

  2.   

    select mainid,need from t_test where 
    getdate()>startdate and getdate()<enddate这里Startdate和enddate为时间,把它们转为日期加时间既可。