SOUNDEX: Como Comparar Strings de Caracteres Foneticamente

Como:

Linguagens Disponíveis: Reporting, Maintain

A função SOUNDEX analisa uma string de caracteres foneticamente sem preocupação com a ortografia. Ela converte strings de caracteres em códigos de quatro caracteres. O primeiro caractere deve ser o primeiro caractere da string. Os últimos três caracteres presente os próximos três sons significativos da string fonte.

Para conduzir uma pesquisa fonética, siga as orientações abaixo:

  1. Utilize SOUNDEX para traduzir valores de dados do campo no qual você está pesquisando para os códigos fonéticos.
  2. Utilize SOUNDEX para traduzir sua string de destino mais provável em um código fonético. Lembre-se de que a ortografia da sua string de destino não precisa ser exata. No entanto, a primeira letra deve estar correta.
  3. Utilize os critérios WHERE ou IF para comparar os campos temporáiros criados no Passo 1 com o campo temporário criado no Passo 2.

Topo da página

x
Sintaxe: Como Comparar strings de caracteres foneticamente
SOUNDEX(length, source_string, output)

onde:

comprimento

Alfanumérico

É o comprimento da source_string ou um campo que contém o comprimento.Pode ser um número entre aspas simples ou um campo contendo o número. O número deve estar entre 01 e 99 e escrito com dois dígitos, por exemplo, '01'). um número maior que 99 faz com que a função exiba asteriscos (*) como a saída.

source_string

Alfanumérico

É a string de caracteres a ser analisada colocada entre aspas simples ou um campo ou variável contendo a string de caracteres.

saída

Alfanumérico

É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples.



Exemplo: Comparar Strings de Caracteres Foneticamente

A solicitação a seguir cria três campos:

Os critérios WHERE selecionam o sobrenome que corresponde ao seu melhor palpite.

DEFINE FILE EMPLOYEE
PHON_NAME/A4 = SOUNDEX('15', LAST_NAME, PHON_NAME);
PHON_COY/A4 WITH LAST_NAME = SOUNDEX('15', 'MICOY', PHON_COY);
PHON_MATCH/A3 = IF PHON_NAME IS PHON_COY THEN 'YES' ELSE 'NO';
END
TABLE FILE EMPLOYEE
PRINT LAST_NAME
IF PHON_MATCH IS 'YES'
END

A saída é:

LAST_NAME
---------
MCCOY

Information Builders