por exemplo, se eu passar 'José A dos Santos' ele criticar... ou 'A Barbosa dos santos' ou 'Anderson S'
valeu!

with tabela as (select 'Teste s um dois três a' nome from dual union all select 'A da silva' from dual )
select a.nome
, trim( substr( ' '||trim(nome)||' ', instr(' '||trim(nome)||' ', ' ', 1, l), 2 ) ) abreviacao
, instr(' '||trim(nome)||' ', ' ', 1, l) posicao
from tabela a, (select level l from dual connect by level <= 30) -- Para garantir, substituir 30 pelo tamanho do campo com o nome
where instr(' '||trim(nome)||' ', ' ', 1, l+1) - instr(' '||trim(nome)||' ', ' ', 1, l) = 2
order by 1, 3
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes