Удаление последнего индекса Mysql - PullRequest
0 голосов
/ 01 апреля 2020

Я играю с SUBSTRING_INDEX из mysql. У меня есть записи:

DOE, JOHN TEST
JONES, TOM ERIC MIDDLENAME

Я хотел, чтобы он вывел в следующем шаблоне:

DOE, JOHN T.
JONES, TOM ERIC M.

Я могу получить последний индекс с помощью SUBSTRING_INDEX((NAME), ' ', - 1 и могу вывести начальный на SUBSTR( SUBSTRING_INDEX(( NAME ), ' ', - 1 ), 1, 1 )

Как удалить последний индекс, чтобы я мог заменить его инициалами?

1 Ответ

0 голосов
/ 01 апреля 2020

Немного больше манипуляций со строками должно привести вас туда

set @a = 'DOE, JOHN TEST';
set @b = 'JONES, TOM ERIC MIDDLENAME';


select  concat(
            trim(replace(@a, substring_index(@a,' ',-1) ,'')),
            ' ',
          left(
            substring_index(@a,' ',-1)
            ,1)
            ,'.') a,
            concat(
            trim(replace(@b, substring_index(@b,' ',-1) ,'')),
            ' ',
          left(
            substring_index(@b,' ',-1)
            ,1)
            ,'.')   b
;

+--------------+--------------------+
| a            | b                  |
+--------------+--------------------+
| DOE, JOHN T. | JONES, TOM ERIC M. |
+--------------+--------------------+
1 row in set (0.001 sec)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...