oracle下常用查询更新命令(身份证号判断男女,更新语句多表查询)

1.update数据

UPDATE VOL_BASEINFO b 
SET (b.vlbi_zzmmm, b.vlbi_mzm) = (select t.zz,t.mz from MY_ZHB_2014 t where t.xh= b.vlbi_xh)
where b.vlbi_xh like '14%';

2.根据身份证号判断男女

decode(mod(to_number(substr('身份证号', 17, 1)), 2), 0, '2', '1')
a.先截取身份证的倒数第二位数字
b.被2整除
c.如果余数是0,则为2-女
d.如果余数是不为0,则为1-男
select decode(mod(to_number(substr('身份证号', 17, 1)), 2), 0, '2', '1')  
from dual

 3.在sql中 insert into 中能插入select 语句,这里要求A和B的表结构是一样的

insert into A select * From B;
如果不一样,则需要使用:
insert into A(C1,C2,...) select C1,C2,... From B;
//这里C1、C2分别指A表与B表字段大小和类型都相同的列。

 

posted @ 2014-11-21 16:42  hellowoody  阅读(3377)  评论(2编辑  收藏  举报