回答

收藏

使用更新语句增加日期时间字段

技术问答 技术问答 586 人阅读 | 0 人回复 | 2023-09-12

所以我有一个包含很多datetime字段表,当我降低列表时,我必须每天增加一天。因此,存在的日期将是:( e% W" @5 ?4 {) D
2011-04-192011-04-192011-04-192011-04-19我需要操作一个句子,让它们看起来像:0 b, ~, V" h' r* B* X, A; z
2011-04-192011-04-202011-04-212011-04-22因此,基本上,第一行保持不变,第二行增加了一天,第三行增加了2天,第四行增加了3天,依此类推。  ^: i9 r/ F; w# Z% y9 {
我一直在搜索,但我不知道该怎么办。我不想使用游标。因此,如果有人有任何建议,我会非常感激。非常感谢。!
/ E& @* m8 s4 m4 w2 M                                                                7 ^' Y* M0 S9 H: _
    解决方案:                                                               
0 U6 I; [; _1 ?                                                                您可以使用会话变量:4 e* G/ O( P- d3 k1 O
SET @r := -1;UPDATE  mytableSET     mydate = mydate   INTERVAL (@r := @r   1) DAY;在SQL Server 2005:, Z2 Q+ A& A$ C" y8 l5 i8 I; }
WITH    q AS   SELECT  *,               ROW_NUMBER() OVER (ORDER BY mydate) rn        FROM    mytable        )UPDATE  qSET     mydate = DATEADD(d,rn - 1,mydate)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则