Разделение строки с именем на части - MySQL

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

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

в общем нужно фио распарсить на ф и о тобиж из одной колонки в три 1,3 выходит без проблем , а вот как вторую замутить?)
Листинг программы
  1. SELECT SUBSTRING_INDEX(full_name,' ', 1) AS last_name ,
  2. [U] SUBSTRING_INDEX(full_name,' ',2) AS first_name,[/U] вот эта строка выводить фамилию и имя как её разбить на 2 ?)
  3. SUBSTRING_INDEX(full_name,' ', -1) AS middle_name
  4. FROM workers;

Решение задачи: «Разделение строки с именем на части»

textual
Листинг программы
  1. SELECT concat(SUBSTRING_INDEX(full_name, ' ', 1), ' ',
  2. left(SUBSTRING_INDEX(SUBSTRING_INDEX(full_name, ' ', 2), ' ', -1), 1), '.',
  3. left(SUBSTRING_INDEX(SUBSTRING_INDEX(full_name, ' ', -1), ' ', -1), 1), '.') AS F_Name
  4. FROM workers;

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

  1. full_name - это название столбца таблицы workers, содержащее полное имя работника.
  2. SUBSTRING_INDEX - это функция, которая разделяет строку на части по определенному разделителю (в данном случае пробел).
  3. concat - это функция, которая объединяет несколько строк в одну.
  4. left - это функция, которая возвращает указанное количество символов из начала строки.
  5. F_Name - это имя результирующего столбца, которое будет содержать разбиение имени на части.
  6. В итоге, код разбивает имя работника на части по пробелу и объединяет их обратно вместе с точкой и первой буквой каждой части, кроме последней, которая содержит только точку.

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


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

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

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут