时间为什么不加一

liyaohui13098452233 2012-12-15 04:24:51


declare @date datetime
declare @date1 char(8)
set @date='2012-11-20 23:39:41.143'
set @date1=convert(char(8),@date,112)


while @date1<CONVERT(char(8),GETDATE(),112)
begin
EXECUTE dbo.YY_SAV_DeptEveryDayCheckList 'J003', '8001', @date1, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 37
set @date=DATEADD(DAY,1,@date)
end




这个存储过程中,想插入每天的时间直到小于当天时间,可以再插入的时候老是插入的是2号的数据,时间不会自动加一,请问错在哪里的了
...全文
191 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄_瓜 2012-12-17
  • 打赏
  • 举报
回复
在@date 累加的下面加一行给@date1 累计的即可 set @date=DATEADD(DAY,1,@date) set @date1=convert(char(8),@date,112)
以学习为目的 2012-12-17
  • 打赏
  • 举报
回复
declare @date datetime
declare @date1 char(8)
set @date='2012-11-20 23:39:41.143'
set @date1=convert(char(8),@date,112)
 
 
while @date1<CONVERT(char(8),GETDATE(),112)
begin
EXECUTE dbo.YY_SAV_DeptEveryDayCheckList 'J003', '8001', @date1, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 37
set @date1=DATEADD(DAY,1,@date)--此处变量@date改为@date1
end
hackervip1988 2012-12-15
  • 打赏
  • 举报
回复
declare @date datetime declare @date1 char(8) set @date='2012-11-20 23:39:41.143' set @date1=convert(char(8),@date,112) while @date1<CONVERT(char(8),GETDATE(),112) begin EXECUTE dbo.YY_SAV_DeptEveryDayCheckList 'J003', '8001', @date1, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 37 set @date=DATEADD(DAY,1,@date) set @date1=convert(char(8),@date,112) end
hackervip1988 2012-12-15
  • 打赏
  • 举报
回复
肯定 有问题 啦 你外面 循环判断条件 是 @date1<CONVERT(char(8),GETDATE(),112) 但是 你里面累加的 是 @date
你的选择B 2012-12-15
  • 打赏
  • 举报
回复

declare @date datetime
declare @date1 char(8)
set @date='2012-11-20 23:39:41.143'
set @date1=convert(char(8),@date,112)
if @date1<CONVERT(char(8),GETDATE(),112)
	begin
	print @date
	set @date=DATEADD(DAY,1,@date)
	print @date
end

/*--测试没有问题
11 20 2012 11:39PM
11 21 2012 11:39PM
*/
-晴天 2012-12-15
  • 打赏
  • 举报
回复
try: set @date=DATEADD(d,1,@date)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧