在mysql怎样查询地址和电话_如何使用mysql查询语句从用户手机号中提取纯号码...
大家好,我是Dodo团队的shimii
今天和大家分享一下如何使用mysql语句从用户手机号中提取纯号码。
最近工作中需要查询一些用户的手机号,但是数据库中的手机号存在不太规范的情况,数据大概有以下几种格式。
以上都是11位的电话号码几种常见的形式,我们使用mysql语句进行查询:select phone from table where length(phone) = 11。此时的结果为
只有这一种形式的号码数据被成功提取,其他数据就很尴尬地漏掉了。然鹅,由于本人比较懒,不想写提取纯数字的函数,就开始捣鼓各种查询语句。
把mysql数据库中的各种length函数来了一遍,完全没用,长度不是11的仍旧不是11。怎么办呢?
观察了一下电话号码,主要是‘+‘,‘-’,空格以及’86’占了长度,纯数字提不出来,我们可以换向思考,把这些碍事的东西去掉。
Mysql中有replace函数,我们先将空格,’-‘和‘+’用该函数去除。这里有一点需要特别注意,86可能是出现在真实电话号码中的数字,因此不能简单的使用replace(phone,'86 ',''),否则可能会出现九位数的手机号码数据。
由于replace不能一次替换多个内容,故我们采取嵌套方案,语句为:
select phone,replace(replace(replace(phone,'-',''),' ',''),'+','') as phone_change from table;替换后结果如下图。
可以看到,此时电话号码为纯数字了。我们用条件语句(case when)和截断函数(substring)来去掉多余的86,抽取纯手机号。
select phone,
case when
replace(replace(replace(phone,'-',''),' ',''),'+','') like '86%' thensubstring(replace(replace(replace(phone,'-',''),' ',''),'+',''),3)else replace(replace(replace(phone,'-',''),' ',''),'+','') end as change_phone
from table;
至此,所有手机号都已正常。
感谢大家不厌其烦看完我这篇短文,工作中经常遇到这些看似不大却又很麻烦的小问题,“投机取巧”赋予了我寻求快捷解决方法的动力。以后如果又“投机”成功了,我还会把方法和大家共同交流的。谢谢!
在mysql怎样查询地址和电话_如何使用mysql查询语句从用户手机号中提取纯号码...相关推荐
- mysql提取手机号_如何使用mysql查询语句从用户手机号中提取纯号码
大家好,我是Dodo团队的shimii 今天和大家分享一下如何使用mysql语句从用户手机号中提取纯号码. 最近工作中需要查询一些用户的手机号,但是数据库中的手机号存在不太规范的情况,数据大概有以下几 ...
- MySQL服务器地址为空,C++/MySQL - 通过主机地址访问数据库时'未知的MySQL服务器主机';没有IP...
我有一个数据库设置在我的1and1包中,我想在C++应用程序中连接到它.它在PHP中工作得很好.C++/MySQL - 通过主机地址访问数据库时'未知的MySQL服务器主机';没有IP 的问题是,我没 ...
- mysql查询雇员地址和电话_数据库的查询(结合YGGL.sql)
(如有错误,欢迎指正!) 1.select语句查询 (1)查询employees表员工部门号和性别,要求消除重复行. mysql>select distinct 员工部门号,性别from emp ...
- IBM、dell、hp、lenovo服务器故障报修、技术支持、服务器保修时间查询地址、电话...
最近机房服务器硬件故障率有点高,经常需要查询服务器保修相关的信息.对相关资料做了一下统计,方便以后使用: 1:DELL 服务器 : PowerEdge 服务器: 服务时间:周一至周日全天 询服务电话: ...
- mysql查询男生基本情况_详解MySql基本查询、连接查询、子查询、正则表达查询...
select * from STUDENT; 2.2.按条件查询 (1) 比较运算符 > , < ,= , != (< >),>= , <= select * fr ...
- mysql查询结果输出文件_如何将MySQL查询输出保存到文件?
mysql查询结果输出文件 We can use the MySQL outfile statement to save the query output into a file. This is v ...
- mysql的配置中主机地址怎么填_连接到mysql主机数据库配置命令-mysql主机地址
连接到mysql主机数据库配置命令-mysql主机地址 2019/04/01 作者: 互盟股份 mysql虚拟主机的配置方法是怎样的?要知道,大部分选择虚拟主机的人最常用到的是Windows系统,而在 ...
- mysql 查询分析工具下载_数据库管理系统-DB查询分析器(数据库查询分析软件)6.04 中文免费版-东坡下载...
DB查询分析器是一个功能强大的万能数据库查询分析软件,支持对各种关系数据源(包括Oracle.Sybase.DB2.Informix.MS SQL SERVER.MYSQL.MS ACCESS.Par ...
- mysql储存过程是什么意思_数据库原理mysql储存过程
如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE. 那么,这几种索引有什么功能和性能上的不同呢? FULLTEXT 即为全文索引,目前只有MyI ...
最新文章
- MySQL怎么导入webcontent_把网页信息添加到mysql,在MyEclipse运行Tomcat出现下面的错误,弄不明白,求助怎么解决呀...
- DOM渲染的详细过程 1
- python入门--函数
- SAP UI5应用如果遇到数据绑定问题时,应该如何自己定位问题?
- 【2006-1】【字符统计】
- Java throws和throw
- 安装的python没有菜单栏_由非root用户安装python包/工具
- java .jar怎么打开_jar文件怎么打开,小编教你如何打开jar文件
- python如何运行_家长看的懂的Python编程---电脑要如何运行Python?
- 企业级 SpringBoot 教程 (七)springboot开启声明式事务
- android auto能用酷狗,完美支持Android车载设备,酷狗音乐pad版使用教程
- matlab数组、矩阵运算
- u深度重装系统详细教程_U盘怎样使用U深度给电脑装系统教程
- python中pop类型_Python基础之基本数据类型
- linux串口无线透传,一种无线串口透传系统的制作方法
- tableau之企业经营分析看版设计
- 裸辞,在上海一点都不“难”
- JD-GUI工具下载安装
- cass简码大全_CASS简码与实体编码对照表
- HTML5经典面试题