【发布时间】:2015-09-04 05:53:50
【问题描述】:
在 MySQL 数据库表中搜索电话号码,其中两个或多个电话字段列具有不同格式的电话号码
我有一个带有2 columns - phone and mobile.的数据库表
两列都有不同格式的电话号码,例如:
+(91) 950-232-9020
+91 950-232-9020
+91 9502329020
09502329020
如果我想搜索电话号码“9502329020”,请从我的 PHP 脚本中,
我希望它返回 4 行。
到目前为止,我发现 1 个解决方案 在每个数字后使用 %:
Select * from table
where phone like '%9%5%0%2%3%2%9%0%2%0' or
mobile like '%9%5%0%2%3%2%9%0%2%0';
但如果我必须搜索数百万行,我需要一个优化的解决方案。
谁能帮助我优化解决方案,有点像在 MYSQL 查询中使用正则表达式。
注意:在数据库中保存时,电话号码会以用户友好的格式保存。
【问题讨论】:
-
@ShivaniAggarwal 如果您创建另一列并添加去除任何特殊字符的电话号码会更好。
-
你能把你的表格和一些示例数据放在 www.sqlfiddle.com 上吗?
-
看看这个 SO 答案:stackoverflow.com/questions/5401714/…
标签: php mysql search multiple-columns phone-number