Поделиться через


SOUNDEX (Transact-SQL)

Возвращает четырехсимвольный код (SOUNDEX) для оценки степени сходства двух строк.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

SOUNDEX ( character_expression )

Аргументы

  • character_expression
    Алфавитно-цифровое выражение символьных данных. Аргумент character_expression может быть константой, переменной или столбцом.

Типы возвращаемых данных

varchar

Замечания

Функция SOUNDEX преобразует алфавитно-цифровую строку в четырехсимвольный код, используемый для нахождения сходно звучащих слов или имен. Первый символ кода является первым символом аргумента character_expression, а второй, третий и четвертый — числами. Гласные в аргументе character_expression игнорируются, если только не являются первой буквой строки. Строковые функции могут быть вложенными.

Примеры

Следующий пример демонстрирует использование функции SOUNDEX и связанной с ней функции DIFFERENCE. В первом примере стандартные значения SOUNDEX возвращаются для всех согласных. Функция SOUNDEX для имен Smith и Smythe возвращает одинаковый код SOUNDEX, поскольку все гласные, буква y, удвоенные буквы и буква h не включаются.

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

Ниже приводится результирующий набор.

----- ----- 
S530  S530  

(1 row(s) affected)

Функция DIFFERENCE производит сравнение шаблонов, возвращенных функцией SOUNDEX. В следующем примере показаны две строки, различающиеся только по гласной. Возвращенное значение 4 означает максимальное сходство.

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

Ниже приводится результирующий набор.

----------- 
4           

(1 row(s) affected)

В следующем примере строки различаются в согласных, следовательно, возвращенное значение 2 указывает на большую степень различия.

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

Ниже приводится результирующий набор.

----------- 
2           

(1 row(s) affected)

См. также

Справочник