oracle 复制列值、置空列值

oracle表中把一个列的值复制成另一个列的值
oracle语法 update 表名 set 列名 = 列名,实际测试
update users a set a.name=a.fax

以上语句的意思就是:把users表中的fax列值赋给name列

oracle表中把一列的值改变部分值赋给另一个列的值:
sql语句
update users a set a.firstdate=add_months

(a.enddate,360);

以上语句的作用:就是enddate加上30年赋给firstdate

oracle把一列置空的语句
update users set 列名=null


oracle修改列值,需要判断时候,需要用decode函数
update users a set a.status= decode(a.enddate,null,1,2);

这个语句的作用:就是加入users表中enddate列如果没有值把users表中status值设为1,如果有值把users表中status值设为2

oracle修改列值,需要两个列进行比较,然后再赋值,需要用case when语句
sql语句
update users a set a.status= (case when (a.A列名>a.B列名) then 1 else 2 end);

这个语句就是假如A列名大于B列名时,把users表中status改为1,若不是这样则为2.

猜你喜欢

转载自studypi.iteye.com/blog/1884826