Primero algo de contexto. Estoy usando proc sql en SAS, y necesito buscar todas las entradas en un conjunto de datos (con un par de millones de entradas) que tienen la variable "Nombre" igual a (digamos) "Massachusetts". Por supuesto, dado que los datos fueron ingresados manualmente por humanos, se producen cerca de todos los errores ortográficos concebibles ("Amssachusetts", "Kassachusetts", etc.).Encontrar cadenas que difieran, como máximo, de una letra de una cadena determinada en SAS con PROC SQL
He encontrado que algunas entradas reciben más de dos caracteres mal, por lo que el código de
Name like "__ssachusetts" OR Name like "_a_sachusetts" OR ... OR Name like "Massachuset__"
gustaría seleccionar las entradas Estoy buscando. Sin embargo, espero que haya una manera más conveniente de escribir
Name that differs by at most 2 characters from "Massachusetts";
¿Hay alguna? ¿O hay alguna otra estrategia para obtener estas entradas? Intenté buscar stackoverflow y la web, pero no tuve éxito. También soy un principiante relativo tanto con SQL como con SAS.
Alguna información adicional: La base de datos no está en inglés (y la cadena real no es "Massachusetts") por lo que usar SOUNDEX no es realmente factible (si alguna vez lo fue).
Gracias de antemano.
(Edit: Mejorado el título)
¿cuál es su motor de base de datos? p.ej. base SAS, DB2, etc. – trickwallett
@trickwallett: Solo base SAS. – Har