oracle 函数REGEXP oracle中使用REGEXP_SUBSTR取值(最好用正则...

ORACLE REGEXP_SUBSTR\u622a\u53d6\u5b57\u7b26\u4e32\u95ee\u9898

\u53ef\u4ee5\u901a\u8fc7REGEXP_SUBSTR\u51fd\u6570\uff08\u914d\u5408\u6b63\u5219\u8868\u8fbe\u5f0f\uff09\u6765\u5b9e\u73b0\u5b57\u7b26\u4e32\u622a\u53d6\u3002
\u4e3e\u4f8b\uff1a
sql:select regexp_substr('CYJ8-ABC','[0-9]+') from dual;
\u4ee5\u4e0asql\u6267\u884c\u7ed3\u679c\uff1a8\uff1b
\u5907\u6ce8\uff1a
REGEXP_SUBSTR\u51fd\u6570\u683c\u5f0f\u5982\u4e0b\uff1a
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr \uff1a\u9700\u8981\u8fdb\u884c\u6b63\u5219\u5904\u7406\u7684\u5b57\u7b26\u4e32
__pattern \uff1a\u8fdb\u884c\u5339\u914d\u7684\u6b63\u5219\u8868\u8fbe\u5f0f
__position \uff1a\u8d77\u59cb\u4f4d\u7f6e\uff0c\u4ece\u7b2c\u51e0\u4e2a\u5b57\u7b26\u5f00\u59cb\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d\uff08\u9ed8\u8ba4\u4e3a1\uff09
__occurrence \uff1a\u6807\u8bc6\u7b2c\u51e0\u4e2a\u5339\u914d\u7ec4\uff0c\u9ed8\u8ba4\u4e3a1
__modifier \uff1a\u6a21\u5f0f\uff08'i'\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u8fdb\u884c\u68c0\u7d22\uff1b'c'\u533a\u5206\u5927\u5c0f\u5199\u8fdb\u884c\u68c0\u7d22\u3002\u9ed8\u8ba4\u4e3a'c'\u3002\uff09

select distinct regexp_substr('020101:1:13,020101:1:175,020301:1:107+020401:1:140-020501:1:107,020301:1:107*020401:1:140/020501:1:107',
'[^,|+|*|/|-]+', 1, level) as str
from dual
connect by level <= regexp_count('020101:1:13,020101:1:175,020301:1:107+020401:1:140-020501:1:107,020301:1:107*020401:1:140/020501:1:107',
'[,|+|*|/|-]') + 1
order by str;

vio_operate_check有多行,dual只有一行 ,这是递归调用,行多就慢

正则表达式本来就是一个效率比较低的东西,但是功能强大
你的第一条只有一条记录当然快了...
第二条慢是正常的,而且还有树形查询..

可以看看网页链接



扩展阅读:oracle vm virtualbox ... oracle regexpinstr函数 ... 数字转换为yyyy-mm-dd ... oracle批量insert脚本 ... oracle日期格式化yyyymmdd ... regexp extract函数sql ... regexp replace函数用法 ... regexp like 函数匹配多个 ... oracle regexp like ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网