You can implement a function like Levenshtein distance:
Distance between two words is the minimum number of single-character
edits (insertions, deletions or substitutions) required to change one
word into the other
There are a lot of implementation which differs in term of performance, see other answers and article about this method
For example :
SELECT LEVENSHTEIN('0134227897', num) as distance , num
FROM (VALUES ('0134752267'),
('+336709057'),
('+3347578974') ) AS t(num)
order by distance
Result will be :
Distance num
5 +3347578974
5 0134752267
8 +336709057
So the best matchs are the two nums with only 5 of distance