Ju
Justinas

Прошу помочь с 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 все ОК, но в системе его нельзя использовать

НМ
Неля Мамлеева

прежде всего - какой дебил спроектировал так базу? Может проще рефакторингом немного заняться?

@ Добрая Настя @
@ Добрая Настя @

а если подойти немного с другого конца: находим второе вхождение пробела и выдаем все, что после него. Если такого вхождения нет, то возвращаем "отчество отсутствует"

Похожие вопросы
Прошу помочь с тестом по C++
Прошу помочь знающих по c++
Простой скрипт прошу помощи PHP
Кто может помочь написать скрипт для автокликера, или программу.
кто может помочь с решением этих задач в MS SQL SERVER??
Какой программой пишутся скрипты на sql?
Кто может помочь. Кто может помочь с установкой движка (скрипта) хостинг картинок аська 647665580
Как запустить SQL-скрипт в LINUX, чтобы он сгенерил мне БД?
Проблемы с установкой sql. Кто может помочь?
Помочь написать простой скрипт в ahk. Совершенно в этом не разбираюсь.