Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Возвращает код с четырьмя символами (SOUNDEX) для оценки сходства двух строк.
Соглашения о синтаксисе Transact-SQL
Синтаксис
SOUNDEX ( character_expression )
Аргументы
character_expression
Буквенно-цифровое выражение символьных данных. character_expression может быть константой, переменной или столбцом.
Возвращаемые типы
varchar
Замечания
SOUNDEX преобразует буквенно-цифровые строки в четырехзначный код, основанный на том, как строка звучит при разговоре на английском языке. Первый символ кода является первым символом character_expression, преобразованным в верхний регистр. Второй, третий и четвертый символы кода являются числами, которые обозначают буквы в выражении. Буквы A, E, I, O, U, H, Wи Y игнорируются, если только они не являются первой буквой строки. Нули добавляются в конце при необходимости производить четырехсимвольный код. Дополнительные сведения о коде SOUNDEX см. в разделе System Soundex Indexing System.
SOUNDEX коды из разных строк можно сравнить, чтобы увидеть, как похожие строки звучат при разговоре. Функция
SOUNDEX учитывается параметры сортировки. Строковые функции могут быть вложенными.
Совместимость SOUNDEX
В предыдущих версиях SQL Server функция SOUNDEX применила подмножество правил SOUNDEX. В соответствии с уровнем совместимости базы данных 110 или более поздней версии SQL Server применяет более полный набор правил.
После обновления до уровня совместимости 110 или более поздней версии может потребоваться перестроить индексы, кучи или CHECK ограничения, использующие функцию SOUNDEX.
Куча, содержащая сохраненный вычисляемый столбец, определенный с
SOUNDEX, не может запрашиваться, пока куча не будет перестроена, выполнив следующую инструкцию:ALTER TABLE <table> REBUILD;CHECKограничения, определенные сSOUNDEX, отключены при обновлении. Чтобы включить ограничение, выполните следующую инструкцию:ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL;Индексы (включая индексированные представления), содержащие сохраненный вычисляемый столбец, определенный с
SOUNDEXнельзя запрашивать, пока индекс не будет перестроен, выполнив следующую инструкцию:ALTER INDEX ALL ON <object> REBUILD;
Примеры
A. Использование SOUNDEX
В следующем примере показана функция SOUNDEX и связанная DIFFERENCE. В первом примере стандартные значения SOUNDEX возвращаются для всех согласных. Возврат SOUNDEX для Smith и Smythe возвращает тот же результат SOUNDEX, так как все гласные, буквы y, двойные буквы и буквы h, не включаются.
SELECT SOUNDEX('Smith'),
SOUNDEX('Smythe');
Вот результирующий набор. Допустимо для сортировки Latin1_General.
S530 S530
B. Использование DIFFERENCE
Функция DIFFERENCE производит сравнение результатов шаблонов SOUNDEX. В следующем примере показаны две строки, различающиеся только по гласной. Возвращенное значение 4 означает максимальное сходство.
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Вот результирующий набор. Допустимо для сортировки Latin1_General.
4
В следующем примере строки различаются в согласных, следовательно, возвращенное значение 2 указывает на большую степень различия.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Вот результирующий набор. Допустимо для сортировки Latin1_General.
2