Сначала рассмотрим какой-то контекст. Я использую proc sql в SAS и вам нужно получить все записи в наборе данных (с несколькими миллионами записей), которые имеют переменную "Имя", равную (скажем) "Массачусетс". Разумеется, поскольку данные были введены человеком вручную, рядом со всеми возможными ошибками орфографии ( "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";
Есть ли? Или есть другая стратегия для получения этих записей? Я пробовал искать как stackoverflow, так и в Интернете, но был неудачным. Я также относительный новичок как с SQL, так и с SAS.
Дополнительная информация: База данных не находится на английском языке (и фактическая строка не является "Массачусетс" ), поэтому использование SOUNDEX на самом деле невозможно (если это когда-либо было).
Спасибо заранее.
(Изменить: улучшено название)