ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 判断输入的身份证号码中是否有除数字和'X'/'x'的函数

判断输入的身份证号码中是否有除数字和'X'/'x'的函数

原创 Linux操作系统 作者:husthxd 时间:2005-02-24 00:00:00 0 删除 编辑

RT.


-- created by husthxd

create or replace function isGmsfhmWrong(vi_gmsfhm in char)
return varchar2
is
  vc_gmsfhm varchar2(20);
  vn_gmsfhm number;
begin 
  select replace(upper(vi_gmsfhm),'X','')
  into vc_gmsfhm
  from dual;
  begin
    select to_number(vc_gmsfhm)
    into vn_gmsfhm
    from dual;
    exception when others then
      return 'NOT VALID';
  end;
  return 'VALID';
  dbms_output.put_line(vc_gmsfhm);
end;
/

SQL> select isGmsfhmWrong('1352352324') from dual;

ISGMSFHMWRONG('1352352324')
--------------------------------------------------------------------------------

VALID

SQL> select isGmsfhmWrong('135w2352324') from dual;

ISGMSFHMWRONG('135W2352324')
--------------------------------------------------------------------------------

NOT VALID

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-21734/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
ITPUB数据库版块资深版主,对Oracle、PostgreSQL有深入研究。现就职于广州云图数据技术有限公司,系统架构师。

注册时间:2007-12-28

  • 博文量
    1394
  • 访问量
    3841206