SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*999[() -]*999[() -]*9999$';
comment puis-je le rendre valide pour tous les formats de nombres et tous les nombres.
407-888-0909
1(408)998-7654
7776654433
876-7788
pour le moment sa seulement valable pour 1-999-999-9999
Utilisation:
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*[[:digit:]]{3}[() -]*[[:digit:]]{3}[() -]*[[:digit:]]{4}$';
Référence:
Il n’est pas très sage de stocker les numéros de téléphone dans une base de données avec des espaces, des tirets, des parenthèses, etc. De cette façon, vous pouvez réellement stocker le nombre dans une colonne basée sur INTEGER au lieu d'un VARCHAR.
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '[1]?[(]?[[:DIGIT:]]{3}[)]?[-]?[[:DIGIT:]]{3}[-]?[[:DIGIT:]]{4}'