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. 🙂