SqlServer 2008中的时间戳修改

时间:2015-01-13 09:41:48

标签: sql-server datetime

在表格中,我有claimIdpaidDate。对于给定的paidDate,我有20 ClaimIDpaidDate数据类型是datetime。因此,业务需要付费日期对所有ClaimID都是唯一的。那么如何在sqlserver中更新PaidDate的唯一时间戳部分??

4 个答案:

答案 0 :(得分:0)

在paiddate列中使用默认的getdate()

答案 1 :(得分:0)

您可以使用:

DATEADD(MINUTE, ClaimID, PaidDate)

这将保留paidDate值,但会添加ID的分钟数。 如果ID非常大,您可能需要分发ROW_NUMBER并使用该ID添加为分钟。

答案 2 :(得分:0)

@Robin

将所有的claimid保存在游标中并逐个更新,并在更新语句后保持WAITFOR '00:00:01'clause ....每条记录将以1秒的差异更新...

答案 3 :(得分:-1)

... @Robin

declare @claimid int
declare cur CURSOR FOR
select claimid from dbo.claimsID order by claimid
begin
open cur
FETCH next FROM cur 
into @claimid
WHILE @@FETCH_STATUS = 0   
begin
update dbo.claimsID set paiddate=getdate() where claimid=@claimid
waitfor delay '00:00:01'

FETCH next FROM cur 
into @claimid
end

CLOSE cur   
DEALLOCATE cur
end