regexp+substr函数
答:vio_operate_check有多行,dual只有一行 ,这是递归调用,行多就慢
答:Oracle正则表达式的应用在oracle里正则表达式有四个函数可用,分别是regexp_like、regexp_substr、regexp_instr 和regexp_replace。这里在我们oracle 10g里灵活应用。 先来简单介绍一下正则表达式的内容,正则表达式是做为快速查询的文本内容的,在linux应用比较多,首先,行的起始与结束 “^”这个字符是表示只查找行首的内...
答:如楼上所说,10g以后的版本可以用regexp_substr函数 如果oracle版本较低,9i及以下版本可使用translate函数 如你上边那个 select translate('[289]+[362]-[323243]ppp[454353]','0123456789'||'[289]+[362]-[323243]ppp[454353]', '0123456789') from dual;具体语法 select translate(字段名,字段...
答:4、regexp_substr:REGEXP_SUBSTR(x,pattern[,start[,occurrence[, match_option]]])用于在x中查找pattern并返回。可以参考字符串函数 SUBSTR(),参数同REGEXP_INSTR函数.例如:DECLARE V_RESULT VARCHAR2(255);BEGIN SELECT REGEXP_SUBSTR('hello world','l{2}') INTO V_RESULT FROM DUAL;D...
答:Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性,重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(...
答:stringObject.replace(regexp/substr,replacement)regexp/substr是规定的子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。replacement是一个字符串值。规定了替换文本或生成替换文本的函数。返回一个新的字符串...
答:用正则:SELECT REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[^+]+', 1, 1), REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[^+]+', 1, 2), REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[...
答:如果你的条件不允许你写PLSQL函数的话,就用正则表达式,如下:SELECT * FROM TABLE WHERE REGEXP_SUBSTR(CHECK, '^[0-9\.\-]\d*\.{0,1}\d+$') IS NOT NULL;
答:可以使用substr函数及instr函数共同实现:如,字符串为:123-asdf-119 现在要截取两个“-”中间的字符串,可用如下语句:select substr('123-asdf-119',instr('123-asdf-119','-')+1,instr('123-asdf-119','-',instr('123-asdf-119','-')+1)-instr('123-asdf-119','-')-1) from ...
答:用js自带的replace()函数 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法:stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值 是一个字符串,则将它...
网友评论:
慎真13235552173:
ORACLE REGEXP - SUBSTR截取字符串问题 -
17992扶滢
: 可以通过REGEXP_SUBSTR函数(配合正则表达式)来实现字符串截取.举例:sql:select regexp_substr('CYJ8-ABC','[0-9]+') from dual; 以上sql执行结果:8;备注:REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, ...
慎真13235552173:
oracle中使用regexp - substr取值.(最好用正则) -
17992扶滢
: select regexp_substr(regexp_substr('<a1="a1111" a2="b22222" a3="a33333"/>','a2=".*"'),'\w+',1,2) from dual结果:b22222,如无a2时,值null
慎真13235552173:
Oracle中的regexp - instr和regexp - substr这两个函数在SQL Server2008 中怎么实现? -
17992扶滢
: sql server到现在为止,内在还不支持常规表达式.如果你要使用,可以使用.net 语言编写clr函数来实现功能.http://blog.csdn.net/jinjazz/article/details/4101746
慎真13235552173:
ORACLE,使用regexp - substr截取字符.我需要在一个单元格里截取用回车符隔开的字符,然后分开多行显示. -
17992扶滢
: replace(sch_group,char(10),'$') --换成业务中没有的符号 select regexp_substr(replace(sch_group,chr(10),'$'), '[^$]+', 1, level) col from dual connect by level <= regexp_count(replace(sch_group,chr(10),'$'), '$') + 1
慎真13235552173:
oracle 9i如何使用10g的regexp - substr函数
17992扶滢
: 不可以,oracle 9i不支持正则表达式
慎真13235552173:
oracle中怎么把按'+'拆分字段进行分组 -
17992扶滢
: oracle 数据库拆分字段的实现方法:用正则表达式拆分某一个字段,比如有a,b,c,d,e sql写法如下:select regexp_substr('a,b,c,d,e,','[^,]+',1,rownum) from dual connect by rownum结果:执行结果如下:1 a2 b3 c4 d5 e
慎真13235552173:
oracle regexp - substr中正则表达式问题 -
17992扶滢
: 用regexp_replace吧,regexp_substr也能做到只是太麻烦 SELECT REGEXP_REPLACE('热能与动力工程200107班', '[^[:digit:]]') FROM DUAL;
慎真13235552173:
oracle 函数REGEXP - SUBSTR使用字段时为什么变慢了 -
17992扶滢
: 正则表达式本来就是一个效率比较低的东西,但是功能强大你的第一条只有一条记录当然快了...第二条慢是正常的,而且还有树形查询..
慎真13235552173:
为什么oracle中有的数据库不支持regexp - substr,报错如下图,哪位大神帮我解答一下,谢谢! -
17992扶滢
: 执行一下:select * from v$version看看你执行不了的那句的版本号,如果是9i以下,可能执行不了
慎真13235552173:
oracle字符串比较用用正值表达式regexp - substr好还是substr好,还是like或..好 -
17992扶滢
: 看你的具体需要了 ,哪个方便用哪个了,反正用正则优势是功能强,但是效率可能会低