Mysql 将上月A列的值更新为当月B列-Sql Server

Mysql 将上月A列的值更新为当月B列-Sql Server,mysql,sql,sql-server,sql-server-2008,Mysql,Sql,Sql Server,Sql Server 2008,我有一张表“ABC”: 我想将上个月A列的值更新为本月的B列。选择(MySQL和SQL Server)中任何一个不同的选项。这是MySQL还是MS SQL Server答案?这是针对SQL Server的。对于mySql,使用date_add()函数,例如date_add(cast(ta.year作为varchar(10))+'/'+cast(ta.month作为varchar(10))+'/01',间隔-1个月) update tb set b = ta.a from abc ta in

我有一张表“
ABC
”:


我想将上个月A列的值更新为本月的B列。

选择(MySQL和SQL Server)中任何一个不同的选项。这是MySQL还是MS SQL Server答案?这是针对SQL Server的。对于mySql,使用date_add()函数,例如date_add(cast(ta.year作为varchar(10))+'/'+cast(ta.month作为varchar(10))+'/01',间隔-1个月)
update tb set b = ta.a
  from abc ta
 inner join abc tb
         on DATEADD(m, cast(ta.year as varchar(10)) + '/'
                       + cast(ta.month as varchar(10)) + '/01'
                     , -1)
            = cast(tb.year as varchar(10)) + '/' + cast(tb.month as varchar(10)) + '/01'
update tb set b = ta.a
  from abc ta
 inner join abc tb
         on DATEADD(m, cast(ta.year as varchar(10)) + '/'
                       + cast(ta.month as varchar(10)) + '/01'
                     , -1)
            = cast(tb.year as varchar(10)) + '/' + cast(tb.month as varchar(10)) + '/01'