Be aware that this is not trivial, not even slightly!
You are looking at implementing "Fuzzy Matching" which is not built in to SQL and is often implemented using
the Levenshtein Distance algorithm[
^] - there is an implementation of that here:
http://www.kodyaz.com/articles/fuzzy-string-matching-using-levenshtein-distance-sql-server.aspx[
^] and then ordering all "possible" strings by lowest LD value - the higher the LD, the more different two strings are.
Don't expect it to run quickly, and don't expect it to be simple to implement! :laugh: