最近在做一个大数据项目,其中涉及到数据需要从一个库抽到另一个库,抽取的过程中需要做一些数据清洗和转换,然后就遇到了需要根据手机号判断运营商的需求,编写sql尝试了两三个小时,才解决掉这个问题,在此写个博客作为记录,供自己和有同样需求的人作为参考。

 SELECT t.NAME,t.NO,t.cellphone_num,CASEWHEN TRIM(t.cellphone_num) REGEXP '^13[5-9]|^134[0-8]|^15[012789]|^18[23478]|^178|^14[78]|^170[356]|^198|^1440' and length(TRIM(t.cellphone_num)) = 11 THEN '中国移动'WHEN TRIM(t.cellphone_num) REGEXP '^13[0-2]|^145|^15[56]|^176|^1704|^1707|^1708|^1709|^171|^18[56]' and length(TRIM(t.cellphone_num)) = 11 THEN '中国联通'WHEN TRIM(t.cellphone_num) REGEXP '^133|^153|^1700|^1701|^1702|^177|^173|^18[019]' and length(TRIM(t.cellphone_num)) = 11 THEN '中国电信'ELSE '未知运营商'END AS provider
FROMup_user twhere t.cellphone_num REGEXP '^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$' 

以上为自己的测试sql

需要说明的是,判断运营商的正则表达式只是判断手机号的前三位或前四位,需要结合后边的length = 11一块使用。感觉使用比较麻烦,但是毕竟还是实现功能了,所以也就凑合用了。

如果哪位大神能够改造一下这些正则,不胜感激

mysql通过正则表达式根据手机号判断运营商相关推荐

  1. php匹配运营商,PHP根据手机号判断运营商方法分享

    本文主要介绍了PHP根据手机号判断运营商,详细介绍附代码,大家可以根据最新的号段进行添加即可,通过正则判断实现,需要的朋友可以参考下,希望能帮助到大家. 道理很简单,知道手机号规则 进行正则判断就可以 ...

  2. php判断运营商,PHP根据手机号判断运营商

    这篇文章主要介绍了PHP根据手机号判断运营商,详细介绍附代码,大家可以根据最新的号段进行添加即可,通过正则判断实现,需要的朋友可以参考下 道理很简单,知道手机号规则 进行正则判断就可以 移动:134. ...

  3. php判断运营商,PHP如何实现根据手机号判断运营商(实例)

    本篇文章主要介绍PHP如何实现根据手机号判断运营商,感兴趣的朋友参考下,希望对大家有所帮助. HTML页面 手机号归属 //修改为自己的路径 /* 移动:134.135.136.137.138.139 ...

  4. php 判断号码运营商,PHP根据手机号判断运营商(详细介绍附代码)

    道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.15 ...

  5. php判断运营商,PHP根据手机号判断运营商(详细介绍附代码)

    道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.15 ...

  6. java手机号判断运营商_用Java对手机号所属运营商进行判断

    [要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了多少个号码段,国家号码段分配如下: 移动:134.1 package com.yuni ...

  7. java手机号判断运营商_根据手机号 判断省份和运营商

    移动号段: 134 135 136 137 138 139 147 148 150 151 152 157 158 159 165 172 178 182 183 184 187 188 198 联通 ...

  8. html正则表达式判断手机号,js正则表达式根据手机号判断校验运营商

    号码段:我是从网上找的这个/* * 移动号码包括的号段:34/35/36/37|38|39: *                     47/48(物联卡号): *                  ...

  9. java 判断手机运营商_JS正则表达式判断手机号所属运营商

    根据用户的输入手机号码判断该号的运营商是移动.联通.电信或其他,再根据不同的运营商做出相应的处理,下面介绍js中如何判断手机号的运营商的代码电话号码是电话管理部门为电话机设定的号码.一般7--8位数组 ...

最新文章

  1. Visual Studio视觉编程工具(推荐四个)
  2. python nameerror import_Python-ImportError:无法导入名称X
  3. 使用CUBA进行开发–是Spring的重大转变吗?
  4. java的对象对象映射_Java对象到对象映射器
  5. Android卷一全文 第一章 阅读前的准备工作
  6. 【转】VC2008在工具栏Toolbar里添加XP风格spin box control控件
  7. springmvc ajaxjson处理
  8. World of Warcraft .M2模型重建
  9. php 快手视频,初学PHP:简单的快手和抖音短视频解析
  10. 计算机冗余,计算机中的冗余是什么意思
  11. EXCEL区分两列名单中不重复的人,以及统计单列名单人员的重复次数
  12. android:layout_weight=1,Android:LinearLayout布局中Layout_weight的深刻理解
  13. linux 卸载lxde,UBUNTU最小化搭建LXDE桌面环境
  14. 4——Hive数仓项目完整流程(在线教育)
  15. 预编译器错误:代码使用了less语言,但未安装相应的编译器插件,请前往插件市场安装该插件
  16. 李兴平中国最牛的个人站长
  17. 爱穿白衣服的留下,好用
  18. asp.net 打开服务器文件,aspnet打开服务器文件夹
  19. Android studio emulator 无法打开的解决办法
  20. golang的ECB加密代码文件下载

热门文章

  1. SQL学习(四)Where语句中的各种匹配方式
  2. C#把月日年帶有 AM、PM的时间格式转换为正常时间格式
  3. 模拟电路9(微变等效电路法对共射基本放大电路进行分析)
  4. 手机端上传图片出现“没有应用可执行操作”
  5. Mac系统切换SMB账号密码
  6. 路由器pppoe服务器无响应,宽带拨号服务器无响应
  7. CAS配置数据库,实现数据库用户认证
  8. 深度对比Soul、觅伊,两款社交软件区别在哪?
  9. 智能急救站入驻公共场所,搭起生命安全新防线
  10. java使用itextpdf生成PDF批量打印荣誉证书(指定位置输出文字)