Oracle 正则表达式 分割字符串

inData=‘12345|张三|男‘
 
SELECT REGEXP_SUBSTR (inData, ‘[^|]+‘, 1,1) into 用户ID FROM DUAL;
SELECT REGEXP_SUBSTR (inData, ‘[^|]+‘, 1,2) into 用户姓名 FROM DUAL;
SELECT REGEXP_SUBSTR (inData, ‘[^|]+‘, 1,3) into 性别 FROM DUAL;

时间: 2024-08-27 11:21:40

Oracle 正则表达式 分割字符串的相关文章

【oracle】oracle REGEXP_SUBSTR分割字符串

REGEXP_SUBSTR的使用:通过REGEXP_SUBSTR进行数据分割: SELECT REGEXP_SUBSTR('17,20,23', '[^,]+', 1, LEVEL, 'i') AS STR FROM DUAL CONNECT BY LEVEL <= LENGTH('17,20,23') - LENGTH(REGEXP_REPLACE('17,20,23', ',', ''))+1; 查询结果:

lua 使用正则表达式分割字符串

function string_split(str, delimiter) if str == nil or str == '' or delimiter == nil then  return nil end     local result = {}    for match in (str..delimiter):gmatch("(.-)"..delimiter) do        table.insert(result, match)    end    return res

oracle 数据库 分割字符串返回结果集函数

CREATE OR REPLACE FUNCTION "UFN_SPLIT" (      p_list varchar2,      p_sep varchar2 := ','   )  return TYPE_SPLIT pipelined    is      l_idx  pls_integer;      v_list  varchar2(4000) := p_list;       v_num number(18,0) := 1;       o_TABLESPLIT  O

Oracle分割字符串 REGEXP_SUBSTR用法

分割字符串中所有指定字符,然后成多行参数说明,参数1: 待分割字符串参数2:正则表达式参数3:起始位置,从第几个字符开始正则表达式匹配(默认为1)参数4:标识第几个匹配组,默认为1参数5:模式('i'不区分大小写进行检索:'c'区分大小写进行检索.默认为'c'.) --示例分隔符';',分割成列 select regexp_substr('a;b;c;','[^;]+',1,rownum,'c') as regexp_strs from dual connect by rownum<=lengt

Oracle正则表达式实战

原文链接:http://oracle-base.com/articles/misc/regular-expressions-support-in-oracle.php Introduction Example 1 : REGEXP_SUBSTR Example 2 : REGEXP_SUBSTR Example 3 : REGEXP_SUBSTR Example 4 : REGEXP_REPLACE Example 5 : REGEXP_INSTR Example 6 : REGEXP_LIKE

oracle正则表达式

需求: 匹配手机号,第一位可以是+,可以没有+,后面的全部要是数字,如: +861359415665 8613659558555 1356856455 都是合法的. +aa156945555 aa1359556666 aaddssdfdfsd 都是不合法的. 正则: [sql] view plaincopyprint? SQL> SELECT * FROM DUAL WHERE regexp_like('+333333' ,'^[\+]*[[:digit:]]+');      --该+转义或者

backreference Oracle正则表达式中的反向引用

这是Oracle对正则表达式的backreference的描述 从定义中可以看到,当匹配表达式中已()的形式将一个子串包含起来,后面就可以以\?的形式来引用.\1对应第一个(),\2对应第二个... 反向引用的引入使得正则表达式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用 regexp_like regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$') 上面这个例子中,匹配表达式里,\1表示第一个([0-9]),这个表达式要判断字符串

模拟java的split函数,分割字符串,类似于java的split方法

/*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合*/create or replace type splitType as table of varchar2(4000); /* 参数1: 被分割的字符串 参数2:分割字符串,默认是英文逗号*/create or replace function split_str(str varchar2, split_char varchar2:=',') return splitType pipelinedis idx nu

Java正则表达式实现字符串的动态多替换

需求场景: 今天在处理SQL语句的时候,由于数据库中存的格式是VARCHAR2型的,这就需要对SQL语句中WHERE条件后边的带数字的字符串加上单引号,对于字符串的处理,首先想到的就是正则表达式,对正则表达式,虽然有一些了解,但是也谈上很熟练,百度了一番(正常网络也就那个几个无奈的搜索引擎使用啦),发现替换,基本上属于固定替换,就是把某一类符合正则标准的,全部替换为一个固定的字符串,比如说,错别字的处理啊,还是比较好用的,这个在程序中也有实现,很easy.但是,我需要的是多个,且是动态替换的,最