首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql while 循环 跪求帮忙 多谢了

2012-07-01 
sql while 循环 跪求帮忙谢谢了declare@DATE datetimeset@DATE :SDATEwhile@DATE :EDATEbegindeclare

sql while 循环 跪求帮忙 谢谢了
declare @DATE datetime
 set @DATE = :SDATE
 while @DATE <= :EDATE
 begin
 declare @OILPUMPSUM money

  select @OILPUMPSUM = sum(isnull(DSALEQTY*OLDPRICE,0))
  from OIL_PUMPPRICECHG
  where RUNDATE=@DATE



 declare @OILTMPSUM money

  select @OILTMPSUM = sum(T.SALEAMOUNT)
  from TURNPAYSUM T, GOODS G
  where T.RUNDATE=@DATE

  and T.GOODSID = G.GOODSID
  and G.ASSCODE IN (9,10)
  and T.PAYCODE <> '1'

  set @DATE = @DATE + 1
end


这段sql会报Operand type clash: INT is incompatible with DATETIME 的错 应该是 set @DATE = :SDATE 的问题但是不知道原因 不知道怎么解决 求大神帮帮忙

[解决办法]

SQL code
set @DATE = dateadd(dd,1,@DATE)--如果是加一天set @DATE = dateadd(mm,1,@DATE)--加一月set @DATE = dateadd(hh,1,@DATE)--加一小时--日期不能直接加减,需要用dateadd(增加部分,增加量,被增加的日期的初始值) 

热点排行