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)
См. также
Справочник
Строковые функции (Transact-SQL)