我需要选择一个varchar2值>>> 45%' (从表ABC,列名XYZ)作为十进制,如select语句应返回0.45。 怎么做到这一点?我没有得到如何使用regular_expression,或通过修剪和转换为数字。
答案 0 :(得分:0)
这应该这样做。删除字符>
和%
并将结果除以100.字符串自动转换为数字
select regexp_replace('>45%', '\>|\%', '') / 100 from dual
另一种方法:删除所有非数字字符:
select regexp_replace('>45%', '[^0-9]', '')/100 from dual