2014-12-16 4 views
-3

У меня есть таблица с тремя столбцами, PhoneHome, PhoneCell и PhoneWork (заметьте, я не настроил эту таблицу), и я пытаюсь очистить эти столбцы, чтобы все номера телефонов отображаются следующим образом: 999-999-9999. Некоторые из строк также имеют текст вроде (999-999-9999 ячейки Джона, или (999) 999-9999 Sarah), я просто хочу отфильтровать все и только сохранить номера телефонов и вот так -> 999-999- 9999. Я знаю, что мне придется использовать RegExp, чтобы справиться с этим, я просто не знаю, как это сделать. Любая помощь очень ценится!Запрос MySQL для очистки телефонных номеров

+0

вы должны посмотреть на http://stackoverflow.com/questions/18660482/how-to-remove-all-the-non-numeric-characters-from-column-in-mysql-in-bulk-data – MZaragoza

ответ

0

Вы можете идентифицировать номера телефонов, которые соответствуют (или не совпадают), с использованием регулярного выражения. Например, чтобы получить домашние телефоны, соответствующие вашему шаблону:

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

Используйте `not regexp 'для тех, которые не совпадают.

Смежные вопросы