› Fóruns › SQL e PL/SQL › busca de nomes abreviados › busca de nomes abreviados
27 de abril de 2011 às 11:14 pm
#98997
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…