WITH T AS ( SELECT 'ABA' VER FROM DUAL UNION ALL SELECT 'ABB' FROM DUAL UNION ALL SELECT 'ABC' FROM DUAL UNION ALL SELECT 'ABD' FROM DUAL UNION ALL SELECT 'ABE' FROM DUAL UNION ALL SELECT 'AAA' FROM DUAL UNION ALL SELECT 'AAB' FROM DUAL UNION ALL SELECT 'AAC' FROM DUAL UNION ALL SELECT 'AAD' FROM DUAL UNION ALL SELECT 'AAE' FROM DUAL UNION ALL SELECT 'AAF' FROM DUAL ) SELECT MAX(VER) AS PRE_VER FROM T WHERE VER < 'AAF'