REGEXP_SUBSTR函数格式如下:
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr :需要进行正则处理的字符串
__pattern :进行匹配的正则表达式
__position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组,默认为1
__modifier :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
比如下面这个结果,我们想对du列按百分比降序排序
SQL> select * from MONITOR_DBTBS.DISK_USAGE;
DB DISK_NAME DU
-------------------- -------------------- ----------
phaoa1 / 45%
phaoa1 /boot 19%
phaoa1 /dev/shm 0%
phaoa1 /home 52%
phaoa1 /oracle 33%
phaoa1 /status 2%
phaoa1 /tmp 13%
phaoa1 /usr 51%
phaoa1 /var 49%
phaoa1 /worktmp 57%
phaoa1 /PHAOA_D00 75%
就可以如下:
SELECT *
FROM MONITOR_DBTBS.DISK_USAGE
WHERE TO_NUMBER (REGEXP_SUBSTR (du, '[0-9]*', 1))>=70 order by du desc;