В этом руководстве вы узнаете, как использовать функцию SQL Server SOUNDEX() для оценки схожести двух строк.
Обзор функции SQL Server SOUNDEX()
В SQL Server функция SOUNDEX() принимает строку и преобразует ее в четырехсимвольный код, представляющий фонетическое представление строки.
Вот базовый синтаксис функции SOUNDEX():
SOUNDEX(character_expression);
В этом синтаксисе:
- character_expression — это строка, которую вы хотите преобразовать в код Soundex. character_expression может быть константой, столбцом или переменной.
Первый символ кода SOUNDEX всегда является первым символом character_expression. Второй по четвертый символы кода являются числами, представляющими буквы в character_expression.
Функция игнорирует буквы A, E, I, O, U, H, W и Y, если они не являются первыми буквами входной строки.
Функция SOUNDEX() при необходимости добавит нули в конец результирующего кода, чтобы получить четырехсимвольный код.
Функция SOUNDEX() может быть полезна при работе с данными, которые могут иметь различия в написании, но звучать одинаково.
Чтобы проверить сходство кодов SOUNDEX двух строк, используйте функцию DIFFERENCE().
Примеры SQL Server SOUNDEX()
Давайте рассмотрим несколько примеров использования функции SOUNDEX().
1) Использование функции SQL Server SOUNDEX() для строк с одинаковым звучанием
В этом примере функция SOUNDEX() используется для возврата кода SOUNDEX как строк «sea», так и «see»:
SELECT SOUNDEX('see') see_soundex, SOUNDEX('sea') sea_soundex;
Вот что получилось:
see_soundex sea_soundex ----------- ----------- S000 S000 (1 row affected)
Коды SOUNDEX одинаковы, поскольку слова see и sea имеют одинаковый звук.
2) Использование функции SOUNDEX() для строк с разным звучанием
В следующем примере функция SOUNDEX() используется для получения кодов строк «кофе» и «черный», которые имеют разные звучания:
SELECT SOUNDEX('coffee') see_soundex, SOUNDEX('tea') sea_soundex;
Вывод следующий:
see_soundex sea_soundex ----------- ----------- C100 T000 (1 row affected)
Soundex кофе и чая различаются, поскольку у них разные звуки.
Краткое содержание
- Используйте функцию SQL Server SOUNDEX() для получения кода SOUNDEX строки.