Finding similar values in columns
If you have a numbers table populated with integers up to the max length the strings in the data can be

SELECT Y.*
FROM   YourTable Y,
(SELECT 4 AS NumChar) T /* Change this line to alter desired length*/
WHERE  EXISTS (SELECT *
               FROM   Numbers N
               WHERE  N.N &lt; LEAST(LENGTH(name), LENGTH(email)) - FLOOR(NumChar/2)
                      AND GREATEST(LOCATE(SUBSTRING(Name, N, NumChar), email), 
                                   LOCATE(SUBSTRING(email, N, NumChar), Name)) &gt; 0)


SQL Fiddle