SOUNDEX (Transact-SQL)SOUNDEX (Transact-SQL)

Si applica a:Applies to: sìSQL ServerSQL Server (tutte le versioni supportate) yesSQL ServerSQL Server (all supported versions) Sìdatabase SQL di AzureAzure SQL DatabaseYesdatabase SQL di AzureAzure SQL Database SìIstanza gestita di SQL di AzureAzure SQL Managed InstanceYesIstanza gestita di SQL di AzureAzure SQL Managed Instance sìAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics sìParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseSi applica a:Applies to: sìSQL ServerSQL Server (tutte le versioni supportate) yesSQL ServerSQL Server (all supported versions) Sìdatabase SQL di AzureAzure SQL DatabaseYesdatabase SQL di AzureAzure SQL Database SìIstanza gestita di SQL di AzureAzure SQL Managed InstanceYesIstanza gestita di SQL di AzureAzure SQL Managed Instance sìAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics sìParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Restituisce un codice di quattro caratteri (SOUNDEX) per valutare la similarità di due stringhe.Returns a four-character (SOUNDEX) code to evaluate the similarity of two strings.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

SOUNDEX ( character_expression )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgomentiArguments

character_expressioncharacter_expression
Espressione alfanumerica di dati di tipo carattere.Is an alphanumeric expression of character data. character_expression può essere una costante, una variabile o una colonna.character_expression can be a constant, variable, or column.

Tipi restituitiReturn Types

varcharvarchar

OsservazioniRemarks

Tramite SOUNDEX una stringa alfanumerica viene convertita in un codice a quattro caratteri basato sul risultato della pronuncia della stringa in inglese.SOUNDEX converts an alphanumeric string to a four-character code that is based on how the string sounds when spoken in English. Il primo carattere del codice è il primo carattere di character_expression, convertito in maiuscolo.The first character of the code is the first character of character_expression, converted to upper case. I caratteri compresi tra il secondo e il quarto del codice sono numeri che rappresentano le lettere dell'espressione.The second through fourth characters of the code are numbers that represent the letters in the expression. Le lettere A, E, I, O, U, H, W e Y vengono ignorate, a meno che non rappresentino la prima lettera della stringa.The letters A, E, I, O, U, H, W, and Y are ignored unless they are the first letter of the string. Se necessario per generare un codice di quattro caratteri, vengono aggiunti gli zeri finali.Zeroes are added at the end if necessary to produce a four-character code. Per altre informazioni sul codice SOUNDEX, vedere The Soundex Indexing System (Sistema di indicizzazione di Soundex).For more information about the SOUNDEX code, see The Soundex Indexing System.

È possibile confrontare i codici SOUNDEX di stringhe diverse per vedere le pronunce simili della stringa.SOUNDEX codes from different strings can be compared to see how similar the strings sound when spoken. Tramite la funzione DIFFERENCE viene eseguito SOUNDEX in due stringhe e viene restituito un Integer che rappresenta la similitudine dei codici SOUNDEX per le stringhe in questione.The DIFFERENCE function performs a SOUNDEX on two strings, and returns an integer that represents how similar the SOUNDEX codes are for those strings.

SOUNDEX è sensibile alle regole di confronto.SOUNDEX is collation sensitive. Le funzioni stringa possono essere nidificate.String functions can be nested.

Compatibilità di SOUNDEXSOUNDEX Compatibility

Nelle versioni precedenti di SQL ServerSQL Server, la funzione SOUNDEX viene applicata a un subset di regole SOUNDEX.In previous versions of SQL ServerSQL Server, the SOUNDEX function applied a subset of the SOUNDEX rules. Con il livello di compatibilità del database 110 o superiore, tramite SQL ServerSQL Server viene applicato un set più completo di regole.Under database compatibility level 110 or higher, SQL ServerSQL Server applies a more complete set of the rules.

Dopo aver effettuato l'aggiornamento al livello di compatibilità 110 o superiore, potrebbe essere necessario ricompilare gli indici, gli heap o i vincoli CHECK in cui viene utilizzata la funzione SOUNDEX.After upgrading to compatibility level 110 or higher, you may need to rebuild the indexes, heaps, or CHECK constraints that use the SOUNDEX function.

  • In un heap contenente una colonna calcolata persistente definita con la funzione SOUNDEX non possono essere eseguite query finché l'heap non viene ricompilato eseguendo l'istruzione ALTER TABLE <table> REBUILD.A heap that contains a persisted computed column defined with SOUNDEX cannot be queried until the heap is rebuilt by running the statement ALTER TABLE <table> REBUILD.

  • I vincoli CHECK definiti con la funzione SOUNDEX vengono disabilitati durante l'aggiornamento.CHECK constraints defined with SOUNDEX are disabled upon upgrade. Per abilitare il vincolo, eseguire l'istruzione ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL.To enable the constraint, run the statement ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL.

  • Negli indici (viste indicizzate incluse) contenenti una colonna calcolata persistente definita con la funzione SOUNDEX non possono essere eseguite query finché l'indice non viene ricompilato eseguendo l'istruzione ALTER INDEX ALL ON <object> REBUILD.Indexes (including indexed views) that contain a persisted computed column defined with SOUNDEX cannot be queried until the index is rebuilt by running the statement ALTER INDEX ALL ON <object> REBUILD.

EsempiExamples

Nell'esempio seguente viene illustrata la funzione SOUNDEX e la funzione DIFFERENCE correlata.The following example shows the SOUNDEX function and the related DIFFERENCE function. Nel primo esempio vengono restituiti i valori SOUNDEX standard per tutte le consonanti.In the first example, the standard SOUNDEX values are returned for all consonants. Per le stringhe SOUNDEX e Smith``Smythe restituisce lo stesso risultato in quanto le vocali, la lettera y, le doppie e la lettera h non vengono incluse.Returning the SOUNDEX for Smith and Smythe returns the same SOUNDEX result because all vowels, the letter y, doubled letters, and the letter h, are not included.

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

Questo è il set di risultati.Here is the result set. Valido per le regole di confronto Latin1_General.Valid for a Latin1_General collation.

S530  S530    

La funzione DIFFERENCE valuta la differenza tra i risultati ottenuti con il modello SOUNDEX.The DIFFERENCE function compares the difference of the SOUNDEX pattern results. Nell'esempio seguente sono illustrate due stringhe che si differenziano in relazione alle vocali.The following example shows two strings that differ only in vowels. Il valore restituito è 4 (differenza minima).The difference returned is 4, the lowest possible difference.

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

Questo è il set di risultati.Here is the result set. Valido per le regole di confronto Latin1_General.Valid for a Latin1_General collation.

4             

Nell'esempio seguente le stringhe sono diverse a livello consonantico. La differenza restituita sarà pertanto 2, vale a dire la differenza maggiore.In the following example, the strings differ in consonants; therefore, the difference returned is 2, the greater difference.

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

Questo è il set di risultati.Here is the result set. Valido per le regole di confronto Latin1_General.Valid for a Latin1_General collation.

2             

Vedere ancheSee Also

DIFFERENCE (Transact-SQL) DIFFERENCE (Transact-SQL)
Funzioni stringa (Transact-SQL) String Functions (Transact-SQL)
Livello di compatibilità ALTER DATABASE (Transact-SQL)ALTER DATABASE Compatibility Level (Transact-SQL)