Сначала немного контекста. Я использую proc sql в SAS, и мне нужно получить все записи в наборе данных (с парой миллионов записей), которые имеют переменную «Имя», равную (скажем,) «Массачусетс». Конечно, поскольку данные когда-то вводились вручную людьми, возникают почти все мыслимые орфографические ошибки («Амссачусетс», «Кассачусетс» и т. Д.).
Я обнаружил, что некоторые записи содержат неправильные более двух символов, поэтому код
Name like "__ssachusetts" OR Name like "_a_sachusetts" OR ... OR Name like "Massachuset__"
выбирает записи, которые я ищу. Однако я надеюсь, что должен быть более удобный способ записи
Name that differs by at most 2 characters from "Massachusetts";
Есть? Или есть другая стратегия для получения этих записей? Я пробовал искать как в stackoverflow, так и в Интернете, но безуспешно. Я также относительный новичок как в SQL, так и в SAS.
Некоторая дополнительная информация: База данных не на английском языке (и фактическая строка не «Массачусетс»), поэтому использование SOUNDEX на самом деле неосуществимо (если оно когда-либо было).
Заранее спасибо.
(Edit: Улучшено название)