Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
Returnerar en kod med fyra tecken (SOUNDEX) för att utvärdera likheten mellan två strängar.
Transact-SQL syntaxkonventioner
Syntax
SOUNDEX ( character_expression )
Argument
character_expression
Ett alfanumeriskt uttryck teckendata. character_expression kan vara en konstant, variabel eller kolumn.
Returtyper
varchar
Anmärkningar
SOUNDEX konverterar en alfanumerisk sträng till en kod med fyra tecken som baseras på hur strängen låter när den talas på engelska. Det första tecknet i koden är det första tecknet i character_expression, konverterat till versaler. Kodens andra till fjärde tecken är siffror som representerar bokstäverna i uttrycket. Bokstäverna A, E, I, O, U, H, Woch Y ignoreras om de inte är den första bokstaven i strängen. Nolla läggs till i slutet om det behövs för att skapa en kod med fyra tecken. Mer information om SOUNDEX-koden finns i Soundex Indexing System.
SOUNDEX koder från olika strängar kan jämföras för att se hur lika strängarna låter när de talas. Funktionen DIFFERENCE() utför en SOUNDEX på två strängar och returnerar ett heltal som representerar hur lika SOUNDEX-koderna är för dessa strängar.
SOUNDEX är sorteringskänslig. Strängfunktioner kan kapslas.
SOUNDEX-kompatibilitet
I tidigare versioner av SQL Server tillämpade funktionen SOUNDEX en delmängd av SOUNDEX regler. Under databaskompatibilitetsnivå 110 eller senare tillämpar SQL Server en mer fullständig uppsättning regler.
När du har uppgraderat till kompatibilitetsnivå 110 eller senare kan du behöva återskapa de index, heaps eller CHECK begränsningar som använder funktionen SOUNDEX.
En heap som innehåller en bevarad beräknad kolumn som definierats med
SOUNDEXkan inte frågas förrän heapen återskapas genom att köra följande instruktion:ALTER TABLE <table> REBUILD;CHECKbegränsningar som definierats medSOUNDEXinaktiveras vid uppgraderingen. Om du vill aktivera villkoret kör du följande instruktion:ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL;Index (inklusive indexerade vyer) som innehåller en bevarad beräknad kolumn som definierats med
SOUNDEXkan inte frågas förrän indexet återskapas genom att köra följande instruktion:ALTER INDEX ALL ON <object> REBUILD;
Exempel
A. Använda SOUNDEX
I följande exempel visas funktionen SOUNDEX och den relaterade funktionen DIFFERENCE. I det första exemplet returneras standardvärdena SOUNDEX för alla konsonanter. Om du returnerar SOUNDEX för Smith och Smythe returneras samma SOUNDEX resultat eftersom alla vokaler, bokstaven y, dubbla bokstäver och bokstaven hinte ingår.
SELECT SOUNDEX('Smith'),
SOUNDEX('Smythe');
Här är resultatuppsättningen. Giltigt för en Latin1_General sortering.
S530 S530
B. Använd DIFFERENCE
Funktionen DIFFERENCE jämför skillnaden i SOUNDEX mönsterresultat. I följande exempel visas två strängar som endast skiljer sig åt i vokaler. Skillnaden som returneras är 4, den lägsta möjliga skillnaden.
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Här är resultatuppsättningen. Giltigt för en Latin1_General sortering.
4
I följande exempel skiljer sig strängarna åt i konsonanter. Skillnaden som returneras är därför 2, den större skillnaden.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Här är resultatuppsättningen. Giltigt för en Latin1_General sortering.
2