精华内容
下载资源
问答
  • CREATE OR REPLACE FUNCTION Strsplit(p_str VARCHAR2, s VARCHAR2)/*对字符串进行拆分。接受两个参数字符串拆分字符。调用例子:select * from table(cast(strsplit('sdfsdf,12,13', ',') as strtabletype ))*/...

    CREATE OR REPLACE FUNCTION Strsplit(p_str VARCHAR2, s VARCHAR2)

    /*

    对字符串进行拆分。接受两个参数字符串和拆分字符。调用例子:

    select  *  from   table(cast(strsplit('sdfsdf,12,13', ',')   as   strtabletype ))

    */

    RETURN strtabletype

    AS

    lstr   VARCHAR2(1000)   DEFAULT   p_str||s;

    LN   NUMBER;

    ldata   strtabletype:=strtabletype();

    BEGIN

    LOOP

    LN:=INSTR(lstr,s);

    EXIT   WHEN   (NVL(LN,0)=0);

    ldata.EXTEND;

    ldata(ldata.COUNT):=LTRIM(RTRIM(SUBSTR(lstr,1,LN-1)));

    lstr:=SUBSTR(lstr,LN+1);

    END   LOOP;

    RETURN   ldata;

    END Strsplit;

    /

    --自定义数据类型

    CREATE OR REPLACE

    TYPE "STRTABLETYPE"

    AS TABLE OF VARCHAR2(40);

    /

    调用:

    --返回值放在游标中,strtabletype是自定义的数据类型cursor c_importData is select  *  from   table(cast(strsplit(importData, ';')   as   strtabletype ));

    展开全文
  • CREATE OR REPLACE FUNCTION Strsplit(p_str VARCHAR2, s VARCHAR2)  /*  对字符串进行拆分。接受两个参数字符串拆分字符。调用例子:  select * from table(cast(strsplit('sdfsdf,12...

    CREATE OR REPLACE FUNCTION Strsplit(p_str VARCHAR2, s VARCHAR2)
      /*
      对字符串进行拆分。接受两个参数字符串和拆分字符。调用例子:
      select  *  from   table(cast(strsplit('sdfsdf,12,13', ',')   as   strtabletype ))
      */ 
      RETURN strtabletype
      AS 
         lstr   VARCHAR2(1000)   DEFAULT   p_str||s; 
         LN   NUMBER; 
         ldata   strtabletype:=strtabletype(); 
         BEGIN 
          LOOP 
          LN:=INSTR(lstr,s); 
          EXIT   WHEN   (NVL(LN,0)=0); 
           ldata.EXTEND; 
           ldata(ldata.COUNT):=LTRIM(RTRIM(SUBSTR(lstr,1,LN-1))); 
           lstr:=SUBSTR(lstr,LN+1); 
        END   LOOP; 
        RETURN   ldata; 
    END Strsplit;
    /

     

     

    --自定义数据类型

    CREATE OR REPLACE
    TYPE "STRTABLETYPE"                                                                                                                                                  

    AS TABLE OF VARCHAR2(40);
    /

     

    调用:

     

    --返回值放在游标中,strtabletype是自定义的数据类型
    cursor c_importData is select  *  from   table(cast(strsplit(importData, ';')   as   strtabletype ));

    展开全文
  • 字符串 '20180321-4768-4735261' 按‘-’ 拆分: 语法: INSTR()函数  1.用处:  在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。 2.语法格式:  instr(sourceString,destString,start,...

    将 字符串 '20180321-4768-4735261' 按‘-’  拆分:

    语法: 

    INSTR()函数  

    1.用处:

      在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。 

    2.语法格式:

      instr(sourceString,destString,start,appearPosition) 
      instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 

    SUBSTR()函数   
    1.用处:

      是从给定的字符表达式或备注字段中返回一个子字符串。    
    2.语法格式:

      SUBSTR(cExpression,nStartPosition [,nCharactersReturned])    
      其中,cExpression指定要从其中返回字符串的字符表达式或备注字段; 
      nStartPosition用于指定返回的字符串在字符表达式或备注字段中的位置, 
      nCharactersReturned用于指定返回的字符数目,缺省时返回字符表达式的值结束前的全部字符。

    第一个字符串 ---返回20180321

    SUBSTR('20180321-4768-4735261',1,INSTR('20180321-4768-4735261','-',1,1)-1)

    第二个字符串 ---返回4768

    SUBSTR('20180321-4768-4735261',INSTR('20180321-4768-4735261','-',1,1)+1,INSTR('20180321-4768-4735261','-',1,2) -INSTR('20180321-4768-4735261','-',1,1)-1)

    第三个字符串 ---返回4735261

    SUBSTR('20180321-4768-4735261',INSTR('20180321-4768-4735261','-',1,2)+1)

      

    转载于:https://www.cnblogs.com/q1092813103/p/8616350.html

    展开全文
  • Oracle拆分字符串函数

    2012-10-18 15:09:54
    Oracle拆分字符串函数
  • oracle数据库字符串拆分

    千次阅读 2018-03-27 09:29:24
    第一种 直接返回切分的字符串 create or replace function Get_StrArrayLength ( av_str varchar2, --要分割的字符串 av_split varchar2 --分隔符号 ) return number is lv_str varchar2(1000); lv_length ...

    第一种 直接返回切分的字符串

    create or replace function Get_StrArrayLength
    (
      av_str varchar2,  --要分割的字符串
      av_split varchar2  --分隔符号
    )
    return number
    is
      lv_str varchar2(1000);
      lv_length number;
    begin
      lv_str:=ltrim(rtrim(av_str));
      lv_length:=0;
      while instr(lv_str,av_split)<>0 loop
         lv_length:=lv_length+1;
         lv_str:=substr(lv_str,instr(lv_str,av_split)+length(av_split),length(lv_str));
      end loop;
      lv_length:=lv_length+1;
      return lv_length;
    end Get_StrArrayLength;
    第二种 以表的方式返回


    create or replace function Get_StrArrayStrOfIndex
    (
      av_str varchar2,  --要分割的字符串
      av_split varchar2,  --分隔符号
      av_index number --取第几个元素
    )
    return varchar2
    is
      lv_str varchar2(1024);
      lv_strOfIndex varchar2(1024);
      lv_length number;
    begin
      lv_str:=ltrim(rtrim(av_str));
      lv_str:=concat(lv_str,av_split);
      lv_length:=av_index;
      if lv_length=0 then
          lv_strOfIndex:=substr(lv_str,1,instr(lv_str,av_split)-length(av_split));
      else
          lv_length:=av_index+1;
         lv_strOfIndex:=substr(lv_str,instr(lv_str,av_split,1,av_index)+length(av_split),instr(lv_str,av_split,1,lv_length)-instr(lv_str,av_split,1,av_index)-length(av_split));
      end if;
      return  lv_strOfIndex;
    end Get_StrArrayStrOfIndex;


    展开全文
  • select a.confrom (select REGEXP_SUBSTR(check_child, '[^,]+', 1, rownum) as confrom (select wm_concat(check_child) as check_childfrom land_fj_insp_check_optionwhere option_name = '屋面'and classtify = ...
  • Oracle字符串截取最全方法总结

    万次阅读 多人点赞 2018-08-30 18:10:42
    substr 函数:截取字符串 语法:SUBSTR(string,start,[length]) string:表示源字符串,即要截取的字符串。 start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。 length:可选项...
  • oracle 拆分字符串最近从Excel中到了一些数据,结果一个列的数据是以逗号分隔的字符串,想把它拆分开找到了下边的方法,贴出来分享一下:CREATE OR REPLACE PROCEDURE sptstr (srcstr varchar2) asstmp varchar2...
  • Oracle拆分字符串字符串分割的函数,返回一个表格,如果有需要的可以下载去看看。
  • 拆分字符串,递归查询:CONNECT BY 正则表达式 regexp_replace; create or replace view v as select '天天向上' as 汉字, 'TTXS' as 拼音 from dual
  • oracle字段根据字符串拆分

    千次阅读 2017-07-11 18:51:07
    记录oracle中,某字段值需要根据其中的字符串拆分。 ---sql语句 select substr('中山分行本部',1, instr('中山分行本部','分行',1,1)+1) fh,  substr('中山分行本部',instr('中山分行本部','分行',1,1)+2) wd ...
  • oracle字符串拆分

    2018-08-11 19:46:00
    在工作当中发现oracle没有提供字符串切割函数,在网上找到一个比好的切割方式,记录一下: 1.新建数据类型 CREATE OR REPLACE TYPE STR_SPLIT AS TABLE OF VARCHAR2(500); 2.新建切割函数 CREATE OR ...
  • 目录regexp_substr函数统计字符串指定字符个数模拟split拆分检索 regexp_substr函数 regexp_substr(string, pattern, position, occurrence, modifier) -srcstr:需要处理的字符串; -pattern:正则表达式; -...
  • \ 处理思路如下,将字符串按指定字符拆分到一个数组里面,并把每段左边补0补齐至2位(按需调整) \ 最后拼接的字符串向右补0,补齐至12位(按需调整,我本次的字符串不会超过6段) \  \ 对于类型为字符串或者...
  • Oracle判断指定字符串拆分后是否包含另一个字符换
  • 常规字符拆分方式 select REGEXP_SUBSTR(str, '[^,]+', 1, LEVEL) STR from (select '11,12,13,14,15,16' str from dual) CONNECT BY LEVEL <= REGEXP_COUNT(str, '[^,]+'); 使用特数字符拆分: ...
  • Oracle 拆分字符串

    2020-06-03 11:40:22
    av_str varchar2, --要分割的字符串 av_split varchar2, --分隔符号 av_index number --取第几个元素 ) return varchar2 is lv_str varchar2(1024); lv_strOfIndex varchar2(1024); lv_length number; begin ...
  • Oracle单个字符串拆分函数

    千次阅读 2017-01-12 11:51:00
    create or replace function fn_gzk_zfjq(p_value varchar2) return ty_str_split pipelined is v_str varchar2(2000);... --字符串截取为字符 for i in 1..length(p_value) loop v_str:=substr(p_value,
  • SELECT REGEXP_SUBSTR(‘a,b,c,d’, ‘[^,]+’, 1, rownum) FROM DUAL CONNECT BY ROWNUM <= LENGTH(‘a,b,c,d’) - LENGTH(REPLACE(‘a,b,c,d’, ‘,’, ‘’)) + 1
  • Oracle字符串拆分

    2017-05-22 10:23:07
    原始字符串:a;b;c;d;e 拆分结果: a b c d e 根据 ‘;’进行拆分。处理SQL:with t as (select 'a;b;c;d;e' as str from dual) select level, str, regexp_substr(t.str, '[^;]+', 1, level) str_...
  • oracle-是否有在PL / SQL中拆分字符串的功能?我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录。 我需要获得这些令牌来分割字符串,并每个令牌作为新记录插入表中。 Oracle是否具有类似“拆分”功能...
  • oracle拆分字符串

    2014-02-22 15:24:59
    create or replace type array_string is table of varchar2(2000); / create or replace function f_split_string -- 拆分字符串 ---- author: zhaohuihua ( i_src in varchar2, -- 待拆分字符串
  • 第一种:oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2, --要分割的字符串 av_split varchar2 --分隔符号 ) return number is ...
  • 今天进行字符串根据字符拆分的sql的编写,刚开始是按照split的方式进行处理的,Oracle是没有现成的split函数的,需要在网上找。网上大多是处理之后会变成collection的,结果是不好处理的,比如拆分之后,要把拆分...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,678
精华内容 5,871
关键字:

oracle将字符串进行拆分