oracle 自定义身份证15位转18位 函数
2011-08-18 16:54
615 查看
oracle 函数15位身份证号转18位身份证号,同时可以参考此代码编写身份证校验函数
/*15位身份证转18位*/ FUNCTION GET_NEWCERT( OLDCERT IN VARCHAR2) RETURN VARCHAR2 IS NEW_CERT VARCHAR2(20); OLD_CERT VARCHAR2(17); I NUMBER; SUMID NUMBER; CHECKID VARCHAR2(34); ENDID VARCHAR2(11); BEGIN ENDID :='10X98765432'; CHECKID :='0709100508040201060307091005080402'; SUMID :=0; OLD_CERT :=SUBSTR(OLDCERT,1,6)||'19'||SUBSTR(OLDCERT,7,9); IF LENGTH(OLDCERT)=15 AND FHTS_DATE.IS_DATE(SUBSTR(OLD_CERT,7,8))=0 THEN FOR I IN 1..17 LOOP SUMID:=SUMID+TO_NUMBER(SUBSTR(OLD_CERT,I,1))*TO_NUMBER(SUBSTR(CHECKID,I*2-1,2)); END LOOP; NEW_CERT:= OLD_CERT||SUBSTR(ENDID,MOD(SUMID,11)+1,1); ELSE NEW_CERT:=OLDCERT; END IF; RETURN NEW_CERT; END GET_NEWCERT; |
相关文章推荐
- [导入]Oracle常用函数:IDCARD15TO18() 身份证15位转18位函数
- 身份证号码15位升18位的自定义函数
- 15位身份证升18位身份证的Oracle函数
- Oracle常用函数:IDCARD15TO18() 身份证15位转18位函数
- vbscript和javascript版的15位, 18位的身份证号码的验证函数.以及根据身份证取省份,生日,性别
- 15位, 18位的身份证号码的验证函数.以及根据身份证取省份,生日,性别
- SQL 2005身份证函数包含验证和15位转18位
- 15位身份证转18位的又一种简单写法的函数
- Oracle中15位身份证转18位存储过程
- 【叶子函数分享十四】将身份证的15位号码升级为18位
- oracle自定义函数验证身份证是否合法
- 15位, 18位的身份证号码的验证函数.以及根据身份证取省份,生日,性别
- 将身份证号由15位转换为18位的函数
- oracle 中身份证号15位升18位
- 将身份证从15位升级为18位的函数
- 【转】SQL 2005身份证函数包含验证和15位转18位
- 自己写的身份证号码15位升18位的函数
- 【叶子函数分享十四】将身份证的15位号码升级为18位
- 用VB将身份证从15位升级为18位的函数
- 将身份证号由15位转换为18位的函数