WITH data AS (SELECT 1 cde, 'sph: -1.25' val FROM DUAL UNION ALL SELECT 2, 'abc: -2.50' FROM DUAL UNION ALL SELECT 3, 'sph1: -0.75' FROM DUAL UNION ALL SELECT 4, 'sph2: -2.25' FROM DUAL UNION ALL SELECT 4, 'sph2: 0' FROM DUAL UNION ALL SELECT 4, 'sph2: -3.00' FROM DUAL UNION ALL SELECT 4, 'sph2: -1.75' FROM DUAL UNION ALL SELECT 4, 'sph2: -2.00' FROM DUAL) SELECT trim(substr(val, instr(val,':')+1)) value , trim(substr(val, instr(val,':')+1)) "require range" FROM data where to_number(trim(substr(val, instr(val,':')+1))) BETWEEN 0 AND -2.00; |