update test set register_time=dateadd(year,-1,register_time) where id=1
你写的有问题,year()取到2006,减1变成2005,但他不会认为这是年,而会认为是秒或者什么的,再把2005转换为日期,从最早日期开始加2005就得到了你看到的结果.所以你要修改你的写法.
register_time=dateadd(...)
直接减去365