Ian*_*the 2 regex sql oracle oracle8i
我有一个在where子句中使用REGEXP_LIKE函数的SQL,现在我需要相当于将在Oracle 8i中运行的函数.
正则表达式看起来像这样:
where REGEXP_LIKE(parm, '^[PMF][[:digit:]]+[_].*')
Run Code Online (Sandbox Code Playgroud)
提前致谢.
你可以试试
WHERE SUBSTR(parm,1,1) IN ('P','M','F')
AND substr(parm,2,1) between '0' and '9'
AND substr(ltrim(substr(parm,2),'0123456789'),1,1) = '_'
Run Code Online (Sandbox Code Playgroud)
第一个字符是P,M或F.第二个字符是数字第二个字符,从左边剥离所有数字,应以下划线开头
PS.请拍你的8i数据库.8i不仅没有支持,9i和10g也没有支持(或者至少它们处于'退化,请停止使用它们'的支持水平).