none
想让数据库里的时间都不一样 RRS feed

  • 问题

  • update Information set UpdateDate=dateadd(s,cast(rand() * 10000 as int),UpdateDate) 这个语句好像不好用

    现在UpdateDate 这字段时间都是一样的,我想把他的秒数修改成不一样的,不能有一条是重复的 或者修改毫秒也可以,只要能让时间不一样就可以,我SQL语言不太好 ,想随即修改下结果也不成功,大家有什么好的SQL语句能让这个字段的秒数或毫秒不一样么

    2012年5月24日 4:43

答案

  • 由于Update是批量跟新的,所以这样更新的话自然每个日期都一样的(同步更新了)。

    建议,假设你的主键是1,2,3,……N,那么用一个循环更新:

    Create procdure AutoUpdate As declare @id int set @id = 1 while(@id<=你的最大的那个id) begin update Information set UpdateDate=dateadd(s,cast(rand() * 10000 as int),UpdateDate) where id=@id
    set @id = @id+1
    end

    然后直接调用这个存储过程执行即可:

    exec AutoUpdate

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年5月24日 5:06
    版主

全部回复