SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*999[() -]*999[() -]*9999$';
我如何让它对任何数字格式和任何数字都有效 喜欢
407-888-0909
1(408)998-7654
7776654433
876-7788
现在它只对 1-999-999-9999 有效
最佳答案
这是一个简单的 MySQL 正则表达式,它允许在数字分组之间使用某些字符。
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*999[() -]*999[() -]*9999$';
这匹配您的记录,但不会格式化它们使得杂项。字符被删除,但您至少可以找到与问题数字匹配的记录。
您可以通过将其更改为更新语句来轻松修复格式。
关于运行时的 MySQL 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451567/