Формат телефонных номеров в MySQL - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть несколько телефонных номеров в БД, которые отформатированы следующим образом: (999) 123-3456.

Мне нужно, чтобы они выглядели как 123-123-1234

Есть ли какое-либо регулярное выражение или что-то, что я могу сделать в MySQL, чтобы быстро отформатировать все эти телефонные номера?Кроме того, к сожалению, некоторые НЕ отформатированы таким образом, поэтому я не мог просто применить это ко всему столбцу.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 15 сентября 2011

Быстрое решение было бы выполнить эти два запроса:

UPDATE table_name set PhoneCol = REPLACE(PhoneCol, '(', '');
UPDATE table_name set PhoneCol = REPLACE(PhoneCol, ') ', '-');
2 голосов
/ 15 сентября 2011

Просто напишите небольшой скрипт php, который просматривает все значения и обновляет их.Сделать это изменение довольно просто в php.Затем просто запустите обновление строки, чтобы перезаписать значение.

1 голос
/ 15 сентября 2011

возможно двухпроходное решение.

  1. убрать все нечисловые символы (и пробелы)
  2. вставить символы форматирования '(', ')', '',и '-' в правильные места (или, что еще лучше, не включайте их и форматируйте только во время выбора в ваших отчетах.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...