请问以下sql语句,怎么无法读取数据,但如果去掉where Time >= '+ @stimeg +' and Time <= '+ @etimeg  +'就可以,请指点!declare  @stime datetime, @etime datetime
Set @stime = '2009-01-13 07:30'
Set @etime = '2009-01-13 07:30'
declare  @c_sql  varchar(500) 
select @c_sql ='SELECT * from bookdb where Time >= '+@stime+' and Time <= '+@etime+' order by Time asc'  
execute(@c_sql)

解决方案 »

  1.   

    declare  @stime datetime, @etime datetime 
    Set @stime = '2009-01-13 07:30' 
    Set @etime = '2009-01-13 07:30' 
    declare  @c_sql  varchar(500) 
    select @c_sql ='SELECT * from bookdb where CONVERT(varchar(16), time, 120) >= '''+@stime+''' and CONVERT(varchar(16), time, 120) <= '''+@etime+''' order by Time asc'  
    execute(@c_sql)
      

  2.   

    declare  @stime datetime, @etime datetime 
    Set @stime = '2009-01-13 07:30' 
    Set @etime = '2009-01-13 07:30' 
    declare  @c_sql  varchar(500) 
    select @c_sql ='SELECT * from bookdb where Time >= '''+@stime+' ''and Time <= '''+@etime+''' order by Time asc'  
    execute(@c_sql)
      

  3.   


    Set @stime = '2009-01-13 07:30' 
    Set @etime = '2009-01-13 07:30' 刚才没细看,你这两个时间怎么是一样的?
      

  4.   

    请问以下sql语句,怎么无法读取数据,但如果去掉where Time >= '+ @stimeg +' and Time <= '+ @etimeg  +'就可以,请指点! declare  @stime datetime, @etime datetime 
    Set @stime = '2009-01-13 07:30' 
    Set @etime = '2009-01-13 17:30' 
    declare  @c_sql  varchar(500) 
    select @c_sql ='SELECT * from bookdb where Time >= '''+@stime+' ''and Time <= '''+@etime+''' order by Time asc'  
    execute(@c_sql)还是不行