Прошу помочь с SQL скриптом
есть такой вопрос: имеется строка ФИО, например "Усманов Артур Камилевич", и требуется вынуть отчество на СУБД Oracle
был скрипт:
otch := replace (NVL(substr ('Усманов Артур Камилевич', instr('Усманов Артур Камилевич', ' ', 1, 2) + 1 ),'Не_Рассчитано'), ' ', '') ;
но проблема в том, что если в строке только имя и фамилия, то substr выдает 0 и получается что считывается имя-фамилия целеком.
Сделал изменение в виде:
if instr('Усманов Артур Камилевич', ' ', 1, 2) = 0
then UMG.[ZOT] := 'Не_Рассчитано';
ELSE UMG.[ZOT] := replace (substr('Усманов Артур Камилевич', instr('Усманов Артур Камилевич', ' ', 1, 2) + 1 ), ' ', '');
но в текущей системе он не дает использовать оператор case, какие есть мысли, как еще реализовать.
на PL/SQL девелопере с CASE все ОК, но в системе его нельзя использовать