Je souhaite effectuer une recherche dans une table d'externalisation, qui possède une colonne de téléphone, mais dans la base de données, les numéros de téléphone n'ont pas de schéma. Ainsi le numéro de téléphone est varchar et a beaucoup de char (par exemple: "", -, +, /)Afficher/n'aimer que les numéros (numéros de téléphone sélectionnés)
Faites-le mysql requête ce qui ne peut aimer que des nombres dans varchar?
Example:
input: 30321321
Database:
+36-30/321 32-1
70/32132131
0630-32-13-21
Mon idée:
Select * from foo where phone like "%3%0%3%2%1%3%2%1%";
Tout cela est laid et de ressources. La base de données contient 100000 lignes et 2 colonnes de téléphones.
Une meilleure idée?
pouvez-vous essayer MATCH (PHONE) CONTRE? Mais vous devez vous assurer que votre db est dans le format de l'index fulltext :) Une meilleure solution serait select * from foo WHERE téléphone REGEXP 'pattern' – bonCodigo
Pourriez-vous ajouter une nouvelle colonne où vous ne stockez que des numéros, et utilisez-la colonne à rechercher? – MikeSmithDev