Condividi tramite


SOUNDEX (Transact-SQL)

Restituisce un codice di quattro caratteri (SOUNDEX) per valutare la similarità di due stringhe.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

SOUNDEX ( character_expression )

Argomenti

  • character_expression
    Espressione alfanumerica di tipo carattere. L'argomento character_expression può essere una costante, una variabile o una colonna.

Tipi restituiti

varchar

Osservazioni

SOUNDEX converte una stringa alfanumerica in un codice di quattro caratteri per individuare parole o nomi con suono simile. Il primo carattere del codice è il primo carattere dell'espressione character_expression, mentre i caratteri dal secondo al quarto sono numeri. Le vocali di character_expression vengono ignorate, tranne nel caso in cui la vocale sia la prima lettera della stringa. Le funzioni stringa possono essere nidificate.

Esempi

Nell'esempio seguente viene illustrata la funzione SOUNDEX e la funzione DIFFERENCE correlata. Nel primo esempio vengono restituiti i valori SOUNDEX standard per tutte le consonanti. Per le stringhe Smith e SmytheSOUNDEX restituisce lo stesso risultato in quanto le vocali, la lettera y, le doppie e la lettera h non vengono incluse.

-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');

Set di risultati:

----- ----- 
S530  S530  

(1 row(s) affected)

La funzione DIFFERENCE valuta la differenza tra i risultati ottenuti con il modello SOUNDEX. Nell'esempio seguente sono illustrate due stringhe che si differenziano in relazione alle vocali. Il valore restituito è 4 (differenza minima).

-- Using DIFFERENCE
SELECT DIFFERENCE('Smithers', 'Smythers');
GO

Set di risultati:

----------- 
4           

(1 row(s) affected)

Nell'esempio seguente le stringhe sono diverse a livello consonantico. La differenza restituita sarà pertanto 2, ovvero la differenza maggiore.

SELECT DIFFERENCE('Anothers', 'Brothers');
GO

Set di risultati:

----------- 
2           

(1 row(s) affected)