27,580
社区成员
发帖
与我相关
我的任务
分享
use tempdb
create table test1(d1 datetime)
go
insert into test1(d1) values('2014-9-1 10:20')
insert into test1(d1) values('2014-9-1 10:28')
insert into test1(d1) values('2014-9-1 8:30')
insert into test1(d1) values('2014-9-1 9:01')
insert into test1(d1) values('2014-9-1 9:28')
insert into test1(d1) values('2014-9-1 9:37')
insert into test1(d1) values('2014-9-1 8:46')
insert into test1(d1) values('2014-9-1 8:18')
select * from test1
update t set d1=dateadd(dd,4,d1)
from (select top 5 * from test1 order by d1 desc) t
select * from test1 order by d1 desc
create table test1(d1 datetime , d2 datetime)
go
insert into test1(d1) values('2014-9-1 10:20')
insert into test1(d1) values('2014-9-1 10:28')
insert into test1(d1) values('2014-9-1 8:30')
insert into test1(d1) values('2014-9-1 9:01')
insert into test1(d1) values('2014-9-1 9:28')
insert into test1(d1) values('2014-9-1 9:37')
insert into test1(d1) values('2014-9-1 8:46')
insert into test1(d1) values('2014-9-1 8:18')
with temp as
(select * from (select d1,row_number() over(order by d1) as num
from test1) a where num<=5)
update temp set d1=dateadd(d,datediff(d,d1,'2014-09-05'),d1)
update tablename
set date='2014-9-5'
from (select top 5 * from tablename
order by date desc) as t
where t.id=tablename.id
如果没有ID 就比较麻烦一点。需要自己建立一个RN 唯一标示各列。然后在匹配。
-- 用top ,假定这个时间没有重复的。
create table test(d1 datetime , d2 datetime)
go
insert into test(d1) values
('2014-9-1 10:20'),
('2014-9-1 10:28'),
('2014-9-1 8:30'),
('2014-9-1 9:01'),
('2014-9-1 9:28'),
('2014-9-1 9:37'),
('2014-9-1 8:46'),
('2014-9-1 8:18')
go
update test set d2 = d1
go
update test set d1 = DATEADD(DAY,4,d1)
where d1 in (select top 5 d1 from test order by d1)
go
select d1 新值 , d2 原来的值 from test order by d1
go
新值 原来的值
----------------------- -----------------------
2014-09-01 09:37:00.000 2014-09-01 09:37:00.000
2014-09-01 10:20:00.000 2014-09-01 10:20:00.000
2014-09-01 10:28:00.000 2014-09-01 10:28:00.000
2014-09-05 08:18:00.000 2014-09-01 08:18:00.000
2014-09-05 08:30:00.000 2014-09-01 08:30:00.000
2014-09-05 08:46:00.000 2014-09-01 08:46:00.000
2014-09-05 09:01:00.000 2014-09-01 09:01:00.000
2014-09-05 09:28:00.000 2014-09-01 09:28:00.000
(8 行受影响)