segunda-feira, julho 11, 2011

Abreviando nome no Oracle

HI,

Para melhorar a comparação entre um nome digitando com um armazenado no banco, resolvi utilizar uma função para auxiliar. Dei preferência por essa que retorna apenas o primeiro e último nome. Assim se tiver armazenado abreviado, não tem problema. Não se trata de uma comparação crítica, é para validar a abertura de uma conta aonde o usuário precisa acertar um documento de identificação, a data de nascimento e o nome da mãe.

Código da função


CREATE OR REPLACE FUNCTION abrevia_nome (pValue IN VARCHAR2)
RETURN VARCHAR2 IS

nome VARCHAR2(100);
Saida VARCHAR2(2000);

BEGIN
nome := pValue;
SELECT SubStr(nome, 1, INSTR(UPPER(NOME), ' ')) ||
REVERSE(Trim(SubStr(REVERSE(nome), 1, INSTR(UPPER(REVERSE(NOME)), ' ')))) INTO saida FROM dual;

RETURN Nvl(Saida, pValue);
END; -- Funcao abrevia_nome


achei ela aqui

Fiquem na Paz!!!!

Nenhum comentário: