SOUNDEX (Transact-SQL)
Возвращает четырехсимвольный код (SOUNDEX) для оценки степени сходства двух строк.
Синтаксис
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)