SOUNDEX: Paragone fonetico delle stringhe di caratteri

Come:

Lingue disponibili: reporting, Maintain

La funzione SOUNDEX analizza una stringa di caratteri, a livello fonetico, senza fare caso allo spelling. Questa funzione converte le stringhe di caratteri in quattro codici di caratteri. Il primo carattere deve essere il primo carattere nella stringa. Gli ultimi tre caratteri rappresentano i prossimi tre suoni significativi nella stringa d'origine.

Per condurre una ricerca fonetica, eseguire il seguente:

  1. Utilizzare SOUNDEX per tradurre valori dati dal campo che si sta ricercando per i codici fonetici.
  2. Utilizzare SOUNDEX per tradurre la propria stringa di destinazione migliore in un codice fonetico. Ricordarsi che lo spelling della propria stringa di destinazione deve essere solamente approssimativo. Tuttavia, la prima lettera deve essere corretta.
  3. Utilizzare i criteri WHERE o IF per paragonare i campi temporanei creati nel passaggio 1 al campo temporaneo creato nel passaggio 2.

Inizio pagina

x
Sintassi: Come paragonare le stringhe di caratteri foneticamente
SOUNDEX(length, source_string, output)

dove:

length

Alfanumerico

Numero di caratteri in source_string, o un campo che contiene la lunghezza.Si potrebbe trattare del numero racchiuso tra virgolette singole, oppure di un campo che contiene il numero. Il numero deve essere compreso tra 01 a 99, espresso in due cifre (per esempio '01'); un numero più grande di 99 causa la funzione per restituire asterischi (*) come emissione.

source_string

Alfanumerico

Stringa di caratteri da analizzare, racchiusa tra virgolette singole, oppure campo o variabile che contiene la stringa di caratteri.

emissione

Alfanumerico

Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.



Esempio: Paragone fonetico delle stringhe di caratteri

La seguente richiesta crea tre campi:

I criteri WHERE selezionano il cognome che corrisponde alla migliore stima.

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

L'emissione è:

LAST_NAME
---------
MCCOY

WebFOCUS