Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
Microsoft Fabric
Warehouse'da SQL analiz uç noktası
İki dizenin benzerliğini değerlendirmek için dört karakterli (SOUNDEX
) bir kod döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
SOUNDEX ( character_expression )
Bağımsız değişken
character_expression
Karakter verilerinin alfasayısal ifadesi. character_expression sabit, değişken veya sütun olabilir.
Dönüş türleri
varchar
Açıklamalar
SOUNDEX
, alfasayısal dizeyi, İngilizce konuşulan dizenin nasıl göründüğüne bağlı olarak dört karakterli bir koda dönüştürür. Kodun ilk karakteri, büyük harfe dönüştürülen character_expressionilk karakteridir. Kodun ikinci ile dördüncü karakterleri, ifadedeki harfleri temsil eden sayılardır. , E
, I
, O
, U
, H
, W
ve Y
A
harfler, dizenin ilk harfi olmadığı sürece yoksayılır. Dört karakterli bir kod oluşturmak için gerekirse sonuna sıfırlar eklenir.
SOUNDEX
kodu hakkında daha fazla bilgi için bkz. Soundex Dizin Oluşturma Sistemi.
Farklı dizelerdeki SOUNDEX
kodları, konuşulan dizelerin ne kadar benzer olduğunu görmek için karşılaştırılabilir.
DIFFERENCE() işlevi iki dizede bir SOUNDEX
gerçekleştirir ve bu dizeler için SOUNDEX
kodlarının ne kadar benzer olduğunu gösteren bir tamsayı döndürür.
SOUNDEX
harmanlama duyarlıdır. Dize işlevleri iç içe yerleştirilmiş olabilir.
SOUNDEX uyumluluğu
SQL Server'ın önceki sürümlerinde, SOUNDEX
işlevi SOUNDEX
kurallarının bir alt kümesini uyguladı. Veritabanı uyumluluk düzeyi 110 veya üzeri altında, SQL Server kuralların daha eksiksiz bir kümesini uygular.
Uyumluluk düzeyi 110 veya üzerine yükselttikten sonra, SOUNDEX
işlevini kullanan dizinleri, yığınları veya CHECK
kısıtlamaları yeniden oluşturmanız gerekebilir.
SOUNDEX
ile tanımlanan kalıcı bir hesaplanan sütun içeren yığın, aşağıdaki deyim çalıştırılarak yığın yeniden oluşturulana kadar sorgulanamaz:ALTER TABLE <table> REBUILD;
SOUNDEX
ile tanımlananCHECK
kısıtlamaları yükseltmeden sonra devre dışı bırakılır. Kısıtlamayı etkinleştirmek için aşağıdaki deyimi çalıştırın:ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL;
SOUNDEX
ile tanımlanan kalıcı bir hesaplanan sütun içeren dizinler (dizinlenmiş görünümler dahil) aşağıdaki deyim çalıştırılarak dizin yeniden oluşturulana kadar sorgulanamaz:ALTER INDEX ALL ON <object> REBUILD;
Örnekler
A. SOUNDEX kullanma
Aşağıdaki örnekte SOUNDEX
işlevi ve ilgili DIFFERENCE
işlevi gösterilmektedir. İlk örnekte, standart SOUNDEX
değerleri tüm consonants için döndürülür.
Smith
ve Smythe
için SOUNDEX
döndürüldüğünde, tüm ünlüler, y
harfi, çift harfler ve h
harfi dahil edilmediğinden aynı SOUNDEX
sonucu döndürür.
SELECT SOUNDEX('Smith'),
SOUNDEX('Smythe');
Sonuç kümesi aşağıdadır.
Latin1_General
harmanlama için geçerlidir.
S530 S530
B. FARK kullan
DIFFERENCE
işlevi, SOUNDEX
desen sonuçlarının farkını karşılaştırır. Aşağıdaki örnekte yalnızca sesli harflerden farklı olan iki dize gösterilmektedir. Döndürülen fark 4
, mümkün olan en düşük farktır.
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Sonuç kümesi aşağıdadır.
Latin1_General
harmanlama için geçerlidir.
4
Aşağıdaki örnekte, dizeler consonants bakımından farklılık gösterir; bu nedenle, döndürülen fark 2
, daha büyük farktır.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Sonuç kümesi aşağıdadır.
Latin1_General
harmanlama için geçerlidir.
2