SQL> select * from t order by a; A ---------- Atest Btest Dtest Etest Htest Wtest dtest 7 rows selected. SQL> with data as (select ascii(upper(substr(a,1,1))) a_val,a from t) select * from data where a_val>67 order by a; A_VAL A ---------- ---------- 68 Dtest 69 Etest 72 Htest 87 Wtest 68 dtest SQL>