Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Restituisce un codice a quattro caratteri (SOUNDEX) per valutare la somiglianza di due stringhe.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
SOUNDEX ( character_expression )
Argomenti
character_expression
Espressione alfanumerica di dati di tipo carattere. character_expression può essere una costante, una variabile o una colonna.
Tipi restituiti
varchar
Osservazioni:
SOUNDEX converte una stringa alfanumerica in un codice a quattro caratteri basato sul suono della stringa quando viene parlato in inglese. Il primo carattere del codice è il primo carattere di character_expression, convertito in maiuscolo. I caratteri compresi tra il secondo e il quarto del codice sono numeri che rappresentano le lettere dell'espressione. Le lettere A, E, I, O, U, H, We Y vengono ignorate a meno che non siano la prima lettera della stringa. Se necessario per generare un codice di quattro caratteri, vengono aggiunti gli zeri finali. Per altre informazioni sul codice di SOUNDEX, vedere The Soundex Indexing System.
SOUNDEX codici di stringhe diverse possono essere confrontati per vedere come le stringhe sono simili quando pronunciate. La funzione
SOUNDEX è sensibile alle regole di confronto. Le funzioni stringa possono essere nidificate.
Compatibilità SOUNDEX
Nelle versioni precedenti di SQL Server, la funzione SOUNDEX ha applicato un subset delle regole di SOUNDEX. Con il livello di compatibilità del database 110 o superiore, tramite SQL Server viene applicato un set più completo di regole.
Dopo l'aggiornamento al livello di compatibilità 110 o superiore, potrebbe essere necessario ricompilare gli indici, gli heap o i vincoli CHECK che usano la funzione SOUNDEX.
Un heap che contiene una colonna calcolata persistente definita con
SOUNDEXnon può essere eseguita una query finché l'heap non viene ricompilato eseguendo l'istruzione seguente:ALTER TABLE <table> REBUILD;CHECKvincoli definiti conSOUNDEXvengono disabilitati al momento dell'aggiornamento. Per abilitare il vincolo, eseguire l'istruzione seguente:ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL;Gli indici (incluse le viste indicizzate) che contengono una colonna calcolata persistente definita con
SOUNDEXnon possono essere sottoposti a query finché l'indice non viene ricompilato eseguendo l'istruzione seguente:ALTER INDEX ALL ON <object> REBUILD;
Esempi
Un. Usare SOUNDEX
L'esempio seguente illustra la funzione SOUNDEX e la funzione DIFFERENCE correlata. Nel primo esempio vengono restituiti i valori SOUNDEX standard per tutte le consonanti. La restituzione del SOUNDEX per Smith e Smythe restituisce lo stesso risultato SOUNDEX perché tutte le vocali, la lettera y, le lettere doppie e la lettera h, non sono incluse.
SELECT SOUNDEX('Smith'),
SOUNDEX('Smythe');
Il set di risultati è il seguente. Valido per le regole di confronto Latin1_General.
S530 S530
B. Usare DIFFERENCE
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).
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Il set di risultati è il seguente. Valido per le regole di confronto Latin1_General.
4
Nell'esempio seguente le stringhe sono diverse a livello consonantico. La differenza restituita sarà pertanto 2, vale a dire la differenza maggiore.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Il set di risultati è il seguente. Valido per le regole di confronto Latin1_General.
2