Разделение строки с именем на части - 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;
Объяснение кода листинга программы
full_name
- это название столбца таблицыworkers
, содержащее полное имя работника.SUBSTRING_INDEX
- это функция, которая разделяет строку на части по определенному разделителю (в данном случае пробел).concat
- это функция, которая объединяет несколько строк в одну.left
- это функция, которая возвращает указанное количество символов из начала строки.F_Name
- это имя результирующего столбца, которое будет содержать разбиение имени на части.- В итоге, код разбивает имя работника на части по пробелу и объединяет их обратно вместе с точкой и первой буквой каждой части, кроме последней, которая содержит только точку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д