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