Разделение строки с именем на части - 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- это имя результирующего столбца, которое будет содержать разбиение имени на части.- В итоге, код разбивает имя работника на части по пробелу и объединяет их обратно вместе с точкой и первой буквой каждой части, кроме последней, которая содержит только точку.