mySQL regex dans la clause where
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*999[() -]*999[() -]*9999$';
comment faire en sorte que son valable pour n'importe quel format de nombre et un nombre
comme
407-888-0909
1(408)998-7654
7776654433
876-7788
maintenant son seul valable pour 1-999-999-9999
- Qu'entendez-vous par "format de nombre"? Voulez-vous dire toute chaîne qui contient au moins un chiffre?
- oui mais sans les "()-" et les espaces
- double possible de MySQL regex au moment de l'exécution
- Si la vitesse est importante, vous devez nettoyer les données dans la base de données et éviter d'utiliser une regex. 🙂
Vous devez vous connecter pour publier un commentaire.
Utilisation:
Référence:
Il n'est pas très judicieux de stocker des numéros de téléphone dans une base de données avec des espaces, tirets, parenthèses, etc. Le moyen le plus efficace est de tronquer tout ce que les ordures à un simple numéro à 10 chiffres. De cette façon, vous pouvez enregistrer le numéro dans un nombre ENTIER de colonne de base au lieu d'un VARCHAR.