运行时的 MySQL 正则表达式

标签 mysql regex

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/

相关文章:

php - 在 CodeIgniter 中检索数据库表注释

java - 如何管理与动态创建的数据库的连接

php - 如何在mysql中选择逗号分隔值中的数组值

php - 准备($ sql)函数不适用于一个脚本

php - 从数据库中获取数据时返回空数组

ruby - ==~ 运算符是做什么的?

regex - 非结构化数据集(文本或 CSV 文件)中的精确模式匹配

java - 在java中替换重复出现的锚定正则表达式组

php - 是否有可能找到与单个正则表达式重叠的匹配项?

java - 一个可用于两个不同字符串 url 的正则表达式