Как изменить формат отображения телефонного номера в базе? - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте друзья. В базе есть номера мобильных телефонов вида: "8928XXXXXXX" надо перевести их в вид: "8(928)XXX-XX-XX". Привести в читабельный вид. Как это сделать запросом на update? Может есть у кого еще вариант. Спасибо.

Решение задачи: «Как изменить формат отображения телефонного номера в базе?»

textual
Листинг программы
UPDATE таблица
SET новое поле = CONCAT(substr(старое поле с номером, 1, 1), '(', substr(старое поле с номером, 2, 3), ')', substr(старое поле с номером, 5, 3), '-', substr(старое поле с номером, 8, 2), '-', substr(старое поле с номером, 10, 2))

Объяснение кода листинга программы

  1. Обновление данных в таблице: UPDATE таблица
  2. Указание нового поля для создания: новое поле = CONCAT(substr(старое поле с номером, 1, 1), '(', substr(старое поле с номером, 2, 3), ')', substr(старое поле с номером, 5, 3), '-', substr(старое поле с номером, 8, 2), '-', substr(старое поле с номером, 10, 2))
  3. Подход к форматированию номера телефона:
    • substr(старое поле с номером, 1, 1) - извлечение первой цифры номера.
    • substr(старое поле с номером, 2, 3) - извлечение следующих трех цифр номера.
    • substr(старое поле с номером, 5, 3) - извлечение следующих трех цифр номера.
    • substr(старое поле с номером, 8, 2) - извлечение последних двух цифр номера.
    • substr(старое поле с номером, 10, 2) - извлечение последних двух цифр номера.
    • CONCAT(substr(старое поле с номером, 1, 1), '(', substr(старое поле с номером, 2, 3), ')', substr(старое поле с номером, 5, 3), '-', substr(старое поле с номером, 8, 2), '-', substr(старое поле с номером, 10, 2)) - объединение всех полученных цифр в одну строку с добавлением скобок и дефисов для форматирования номера телефона.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы