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

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

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

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

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

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

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

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

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


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

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

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