Try the following:
SELECT * FROM YourTable WHERE LEFT(stringColumn, 5) IN ( SELECT LEFT(stringColumn, 5) FROM YOURTABLE GROUP BY LEFT(stringColumn, 5) HAVING COUNT(*) > 1 )
SQLFIDDLE DEMO
This selects the first 5 characters, groups them and returns only those that occur more than once.
Or with a substring:
SELECT * FROM YourTable WHERE substring(stringColumn,1,5) IN ( SELECT substring(stringColumn,1,5) FROM YOURTABLE GROUP BY substring(stringColumn,1,5) HAVING COUNT(*) > 1) ;
SQLFIDDLE DEMO
source share