drop table test;
create table test
(q1 varchar2(200),q2 varchar2(200),
q3 varchar2(200)
);
insert into test(q1,q2,q3) values('1','3','1');
insert into test(q1,q2,q3) values('','3','1');
insert into test(q1,q2,q3) values('','3','1');
insert into test(q1,q2,q3) values('','3','');
insert into test(q1,q2,q3) values('','3','');
insert into test(q1,q2,q3) values('','3','');
update test a set (a.q1,a.q3) =(select nvl(b.q1,'-'),nvl(b.q3,'-') from test b where a.rowid = b.rowid and a.rowid = b.rowid)where q1 is null and q3 is null; //空值只能这样索引,空值不等于0或空格,多列同时更新,并且多空值进行同时转换。