有这样一个表:t(id varchar2(20),name varchar2(12),bday datetime),里面数据如下:
00001926 道看看 2000-1-1 8:10:00
00001926 反塑瓶 2000-1-1 8:10:00
00001926 针不是 2000-1-1 8:12:00
00001926 脑蛋白 2008-4-8 8:17:42
00001926 水解物 2008-4-8 9:10:10
其中前面3条数据熟错误的,我想把前面3条记录的时间改成后面时间里面最小的时间,我用这条语句做的
update zybrfyqd set bday = (select min(bday) from zybrfyqd where bday > date'2000-02-01' )
where bday < date'2000-02-01'
commit;对只有一个id的是可以的,现在是这个表t里面有很多id都不一样的,都出现这样的错误(就是有几条记录的时间是错误的),该怎末实现?
00001926 道看看 2000-1-1 8:10:00
00001926 反塑瓶 2000-1-1 8:10:00
00001926 针不是 2000-1-1 8:12:00
00001926 脑蛋白 2008-4-8 8:17:42
00001926 水解物 2008-4-8 9:10:10
其中前面3条数据熟错误的,我想把前面3条记录的时间改成后面时间里面最小的时间,我用这条语句做的
update zybrfyqd set bday = (select min(bday) from zybrfyqd where bday > date'2000-02-01' )
where bday < date'2000-02-01'
commit;对只有一个id的是可以的,现在是这个表t里面有很多id都不一样的,都出现这样的错误(就是有几条记录的时间是错误的),该怎末实现?
update t
set t.bday=(select min(a.bday) from t a where a.bday>to_date('2000-2-1','YYYY-MM-DD') AND A.ID=T.ID)
WHERE t.bday<to_date('2000-2-1','YYYY-MM-DD')