llgd.net
当前位置:首页 >> orAClE中如何通过身份证号码来sEt性别为男或者女,... >>

orAClE中如何通过身份证号码来sEt性别为男或者女,...

--假设表test,字段sex是性别,cert_number是身份证号码,都是varchar2类型 --15位 最后一位奇数或偶数代表一个人的性别 update test t set t.sex = decode(mod(to_number(t.cert_number),2),0,'男','女') where upper(t.cert_number) not like '...

SELECT TRUNC ( ( TO_DATE ('20120110', 'yyyy-mm-dd') - TO_DATE (SUBSTR (code, 7, 8), 'yyyy-mm-dd') )/ 365) || '岁' || MOD ( ( TO_DATE ('20120110', 'yyyy-mm-dd') - TO_DATE (SUBSTR (code, 7, 8), 'yyyy-mm-dd')), 365) || '天' as 年...

可以使用CASE表达式,假设表名为t_name,字段为id 查询语句: SELECT CASE WHEN LENGTH(id)=18 THEN SUBSTR(id,1,6)||SUBSTR(id,9,9) ELSE id END FROM t_name; 修改语句为: UPDATE t_name SET id=CASE WHEN LENGTH(id)=18 THEN SUBSTR(id,1,6)|...

身份证号分为15位和18位,处理方式略有不同,但也可以用一句sql语句来更新。 如test表中数据如下: 更新birthday字段的语句如下: update test set birthday=case when length(sfz)=18 then substr(sfz,7,8) when length(sfz)=15 then '19'||sub...

具体代码就不写了 思路如下 身份证18位 从多少位是年月日来着?大概是第7--15是年月日 substring()方法 获取当前年与日 两个日期转化为毫秒相减,相减后的毫秒转化为天数给个小例子 public static void main(String[] args) {Calendar nowDate...

身份证号码的长度分为15位和18位,改法不同,但在oracle中可用一句话来更新。 1、如shenfenzheng表中数据如下: 2、现要更新hiredate字段,使之为身份证号码信息中的出生日期。可用如下语句: update shenfenzheng set hiredate=case when lengt...

update person set age= year(getdate())-substring(sfzh,7,4) 这个命令有一点小错误。因为year() 结果是数值型。subs()结果是字符型。 改为: update person set age= year(getdate())-val(substring(sfzh,7,4))

create table aa (id int primary key, card_no varchar2(20) check(length(card_no) =15 or length(card_no) =18) )

SELECT 姓名,身份证号,CASE WHEN (LENGTH(身份证号))=15 THEN DECODE(MOD(SUBSTR(身份证号,15,1),2),'0','女','男') WHEN (LENGTH(身份证号))=18 THEN DECODE(MOD(SUBSTR(身份证号,17,1),2),'0','女','男') ELSE '身份证号不正确' END FROM 你要...

手机号码 number或者varchar2 类型 邮政编码 number(6) 类型 身份证 varchar(18) 类型

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com