新闻资讯

SQL如何查询电话号码中的特定数字?学习一下!

来源:手机号码 编辑:选选号
发布时间:2021-01-31

这听起来像是标准模式匹配。数据库实际上在这种事情上非常擅长,因此,假设您正确存储了电话号码,那么编写一个查询来做到这一点就不会有太多困难。尽管电话号码可以用许多不同的格式表示,包括“(800)555-1212”,“ 800-555-1212”,“ 800 555-1212”或“ 8005551212”,但最好将它们存储为固定格式,长度char或可变长度varchar列。通常通过在将数字存储到数据库之前在应用程序级别去除特殊字符来完成此操作。然后,该应用程序可以格式化您喜欢的前端电话号码。

假设“ 54”是连续的,您有两种选择。

SQL LIKE运算子

可以使用LIKE运算符来搜索列中的简单模式。它接受两种类型的通配符:

%:百分号代表零个,一个或多个字符。_:下划线表示单个字符。这是我的Navicat中的查询 使用LIKE运算符来匹配电话号码的数据库开发和管理客户端,该电话号码包括字段中的“ 54”

同时,如果我们删除最后一个百分号(%),则仅返回以“ 54”结尾的电话号码:

要进行更细粒度的模式匹配,可以使用正则表达式。根据DBMS类型,这些实现可能有所不同。我对MySQL REGEXP运算符最熟悉。在Navicat编辑器中使用它非常容易,因为一旦开始键入它,就会出现一个自动建议列表,您可以在其中选择REGEXP运算符并将其直接插入查询中:

因为正则表达式匹配模式,所以仅包含'54'字符串将返回在字段中任何位置包含该字符组合的任何电话号码:

同样,我们可以使用^ start和$ end锚字符来匹配字段的开头或结尾:

宿州手机靓号 六安手机靓号 宣城手机靓号 韶关手机靓号 湛江手机靓号 汕头手机靓号
 

小北:15210985555
一键拨打
微信号:15210985555
点击复制微信号