我想从用户表中搜索电话号码,它有百万条用户记录。用户表将包含带或不带国家/地区代码的电话号码。
用户表中的示例电话号码
+911111122222
3333344444
+15555566666
+917777788888
+19999900000
我要传递的输入电话号码,可能有也可能没有国家代码。我将输入 100 到 1000 个电话号码
1111122222
+913333344444
+15555566666
7777788888
9999900000
我想检索与电话号码匹配的所有记录,无论国家/地区代码如何。
现在我正在使用这个,
Select * from users WHERE phone_numer IN ("1111122222","+913333344444", "+15555566666", "7777788888", "9999900000");
它没有返回所有电话号码,我们应该如何处理?
最佳答案
您可以只检查要测试的号码是否位于数据库中号码的末尾,为此,请查看 this question了解如何将 LIKE
与多个值一起使用。
WHERE phone_number LIKE '%1111122222'
将匹配1111122222
和+91111122222
关于MySQL - WHERE IN CLAUSE 正则表达式匹配电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17989118/