Немного больше манипуляций со строками должно привести вас туда
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)