SqlServer 2008 中的时间戳修改



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

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

您可以使用:

DATEADD(MINUTE, ClaimID, PaidDate)

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

@Robin

将所有声明ID保存在游标中并逐个更新,更新语句后保持WAITFOR '00:00:01'子句....每条记录都将以 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

最新更新