update a set year=decode(key,'001','123','002','wang',year);
UPDATE a SET year = decode(key,'001','123',year), name = decode(key,'002','wang',name) WHERE key IN ('001','002')
duanzilin(寻):你能解释一下代码吗?
假如我想: update Table_A set year='1982' where key='Mr.W'update Table_A set year='2006' where key='Mr.LW'用tian00weiwei(weiwei)的方法写成:update Table_A set year=decode(key,'Mr.W','1982','Mr.LW','2006',year);可以更新到数据库,那么decode是怎么用的呢?查了一下没有找到很详细的介绍。麻烦将一下好不?
name = decode(key,'002','wang',name)
WHERE key IN ('001','002')
update Table_A set year='1982' where key='Mr.W'update Table_A set year='2006' where key='Mr.LW'用tian00weiwei(weiwei)的方法写成:update Table_A set year=decode(key,'Mr.W','1982','Mr.LW','2006',year);可以更新到数据库,那么decode是怎么用的呢?查了一下没有找到很详细的介绍。麻烦将一下好不?
col1 = m1,则返回n1;
col1 = m2,则返回n2;
...或者
decode(col1,m1,n1,n2)
col1 = m1,则返回n1;否则返回n2;
后面这个2006后面为什么还要写个year?
后面这个2006后面为什么还要写个year?
-----------------------------------------------这里用decode对每种匹配的情况有一个对应值,对于不匹配的值就不需要更新了,加上year就是在不匹配的情况下保留原值,如果去掉year,那么不匹配的key值对应的year就被更新成null了