oracle存储过程判断手机号码和固话
来源:互联网 发布:淘宝零食店哪家好 编辑:程序博客网 时间:2024/04/30 00:59
create or replace procedure get_Area_Phone(i_phoneNum in varchar2,--传入号码
o_phoneFlag out varchar2,--返回手机号码1,固话2,其他0
o_resultNum out varchar2)
is
iv_province varchar2(50);
iv_phoneNum varchar2(50);
iv_count number;
iv_zipCode2 varchar2(50);
iv_zipCode varchar2(50);
v_strNum VARCHAR2(30);
v_400_phoneNum varchar2(50);
begin
iv_count := 0;
o_phoneFlag := '0';
--判断手机号码还是固话
if REGEXP_LIKE(i_phoneNum,'^1[3458]\d{9}$') then --判断手机号码
v_strNum := substr(i_phoneNum,0,7);
o_phoneFlag := '1';
select dpn.PROVINCE_NAME into iv_province from DIC_PHONE_NUM dpn WHERE dpn.MOBILE_NUMBER = v_strNum;
elsif REGEXP_LIKE(i_phoneNum,'^(010|02\d|0[3-9]\d{2})?\d{6,8}$') then --判断固话
iv_zipCode2 := substr(i_phoneNum,0,2);
o_phoneFlag := '2';
if (iv_zipCode2 = '01' or iv_zipCode2 = '02' or iv_zipCode2 = '85') then
if REGEXP_LIKE(substr(i_phoneNum,0,3),'^(010|852|853|02\d)$') then
iv_zipCode := substr(i_phoneNum,0,3);
end if;
else
if REGEXP_LIKE(substr(i_phoneNum,0,4),'^(0[3-9]\d{2})$') then
iv_zipCode := substr(i_phoneNum,0,4);
end if;
end if;
if iv_zipCode is not null then
select dpn.PROVINCE_NAME into iv_province from DIC_PHONE_NUM dpn WHERE dpn.area_code = iv_zipCode and rownum=1;
end if;
end if;
if iv_province is not null then
select dpp.phone_num into o_resultNum from dic_phone_province dpp where dpp.province=iv_province;
end if;
exception
--如果查不到对应的归属地返回 公用号码
when no_data_found then
o_resultNum := '020';
end;
- oracle存储过程判断手机号码和固话
- 批量生成随机手机号码的存储过程和自定义函数
- JS判断手机号码和联通手机号码
- oracle判断日期函数、存储过程例子
- oracle判断存储过程是否执行完成
- oracle存储过程和函数
- oracle 存储过程和函数
- oracle 存储过程和函数
- Oracle存储过程和程序包
- Oracle存储过程和程序包
- oracle 函数和存储过程
- oracle存储过程和触发器
- Oracle存储过程和程序包
- Oracle存储过程和程序包
- Oracle函数和存储过程
- oracle存储过程和触发器
- oracle触发器和存储过程
- oracle触发器和存储过程
- HTTPS和HTTP的区别
- cocos2d-x 3.0 在lua中调用自定义类
- 使用nmap 验证多种漏洞
- eclipse运行后在页面浏览器打开
- 七款Debug工具推荐:iOS开发必备的调试利器
- oracle存储过程判断手机号码和固话
- mysql优化,不用怕面试题了
- MySQL权限篇之CREATE
- 视频压缩:I帧、P帧、B帧
- Android Studio快捷键学习
- java实现图片压缩
- Xcode编译Undefined symbols for architecture xxx 错误总结
- daemon 进程为什么要fork两次
- MySQL5.6系统变量--open_files_limit