select 挑战性问题,高手请进。 用DateAdd函数 DATEADD ( hour , -24, getdate() ) 就是昨天的这个时候 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 日期 between DATEADD ( hour , -24, getdate() ) and DATEADD ( hour , -1, getdate() ) Create procedure PocTest(@time int)asdeclare @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 = 1while @start_time < @time begin set @sql = @sql + ',B.hour'+rtrim(convert(varchar(2),@start_time)) set @start_time = @start_time + 1 endset @start_time = @timewhile @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 @sqlexec(@sql)go 有点不明白left join,是我学习有问题还是没有学透呢? 高手请进,请看看这函数中红色两行是什么毛病? 怎么取时间最大的哪个ID 下面例子第2项相同的时候!? 请问mssql2k中的创建unique约束与unique索引有啥区别? 如何在一个存储过程中获取执行另一个存储过程返回的结果集? 有关SQL SERVER 200 5找不到本地服务器的问题!!急!!!!!! sql 2008验证 如何对一个像网络计费的数据库进行分层? 这里该怎么改?? 求救:我怎么写这个update语句。 大哥大姐们,救命呀!! sql基础问题!大侠来帮忙啊!!
(@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