SELECT
rtrim(substr('80409-005-00W', 1, instr('80409-005-00W', '-')),'-') first_name ,
rtrim(substr(ltrim(substr('80409-005-00W', instr('80409-005-00W', '-')),'-'),1,instr(ltrim(substr('80409-005-00W', instr('80409-005-00W', '-')),'-'),'-')),'-') middle_name,
SUBSTR('80409-005-00W', Instr('80409-005-00W', '-', -1, 1) +1) part2
FROM dual;
rtrim(substr('80409-005-00W', 1, instr('80409-005-00W', '-')),'-') first_name ,
rtrim(substr(ltrim(substr('80409-005-00W', instr('80409-005-00W', '-')),'-'),1,instr(ltrim(substr('80409-005-00W', instr('80409-005-00W', '-')),'-'),'-')),'-') middle_name,
SUBSTR('80409-005-00W', Instr('80409-005-00W', '-', -1, 1) +1) part2
FROM dual;