MySQL查询清理电话号码

时间:2014-12-16 22:20:53

标签: mysql regex

我有一个包含三列的表格,PhoneHomePhoneCellPhoneWork(请注意,我没有设置此表),我试图清理这些列,以便显示所有电话号码:999-999-9999。有些行也有文字像(999-999-9999约翰的单元格,或者(999)999-9999莎拉),我只想过滤掉所有内容,只保留电话号码,就像这样 - &gt ; 999-999-9999。我知道我将不得不使用RegExp来处理这个问题,我只是不确定如何解决这个问题。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式识别匹配(或不匹配)模式的电话号码。例如,要获得符合您的模式的家庭电话:

select PhoneHome
from table t
where PhoneHome regexp '^[0-9]{3}-[0-9]{3}-[0-9]{4}$'

使用`not regexp'对于那些不匹配的人。