Pular para o conteúdo

Fóruns SQL e PL/SQL busca de nomes abreviados busca de nomes abreviados

#98997
burga
Participante

    Pro 9i, uma solução super tosca mas que funciona é fazer algo do tipo:

    WITH t AS (
    SELECT
    TRANSLATE(UPPER(nome),'BCDEFGHIJKLMNOPQRSTUVXZWY.',
    'AAAAAAAAAAAAAAAAAAAAAAAAA ')
    teste,
    id,
    nome
    FROM tabela)
    SELECT * FROM t
    WHERE teste like 'A %'
    OR teste like '% A'
    OR teste like '% A %';

    Substituir todos os caracteres por um só, e todos os tipos de pontos por espaço e buscar pelo caractere isolado, bom só pra poupar um pouco de código e se for executada uma única vez… Pelo menos poupa de ficar escrevendo intermináveis OR LIKE OR LIKE OR LIKE…