用DateAdd函数 DATEADD ( hour , -24, getdate() ) 就是昨天的这个时候

解决方案 »

  1.   

    日期 between DATEADD ( hour , -24, getdate() ) and DATEADD ( hour , -1, getdate() )
      

  2.   

    Create procedure PocTest
    (@time int)
    as
    declare @sql varchar(8000),@today int,@yestoday int,@start_time intset @sql = ''
    set @today = datepart(day,getdate())
    set @yestoday = datepart(day,getdate()-1)set @start_time = 1
    while @start_time < @time
      begin
        set @sql = @sql + ',B.hour'+rtrim(convert(varchar(2),@start_time))
        set @start_time = @start_time + 1
      endset @start_time = @time
    while @start_time<=24
      begin
        set @sql = @sql + ',A.hour'+rtrim(convert(varchar(2),@start_time))
        set @start_time = @start_time + 1
      endset @sql = 'select A.companyid '+ @sql + ' from (select * from 表A where datepart(day,datetime) = '+convert(varchar(2),@yestoday)+') as A'set @sql = @sql + ',(select * from 表A where datepart(day,datetime) = '+convert(varchar(2),@today)+') as B'set @sql = @sql + ' where A.companyId = B.companyId'print @sql
    exec(@sql)
    go