首页 > 数据库 >oracle分隔字符串的存储过程

oracle分隔字符串的存储过程

时间:2023-04-11 12:32:50浏览次数:39  
标签:分隔 sposition1 sposition2 splitStr 字符串 VARCHAR2 srcStr oracle starttimes

/*     
    
    参数说明:   
    输入:   
        srcStr;待分割字串;     例子:1;2;3;45;46;   
        splitStr:分隔符   
          
    功能说明:输出分隔符前字串   
      
    演示:   
    sql>set   serveroutput   on;   
    sql>exec   splitStr('12;34;56;',';');   
            12   
            34   
            56   
       */ create or replace procedure splitStr(srcStr IN VARCHAR2,splitStr IN VARCHAR2) IS
 sposition1 INTEGER;
 
 sposition2 INTEGER;
 
 mysubstr VARCHAR2(10);
 
 starttimes INTEGER;
 
 begin
 
 starttimes:=1;
 
 sposition1:=1;
 
 loop
 
 sposition2:=instr(srcStr,splitStr,1,starttimes);
 
 exit when sposition2=0;
 
 mysubstr:=substr(srcStr,sposition1,sposition2-sposition1);
 
 sposition1:=sposition2+1;
 
 starttimes:=starttimes+1;
 
 dbms_output.put_line(mysubstr);
 

 end loop;
 
 dbms_output.put_line('end');
 
 end ;

标签:分隔,sposition1,sposition2,splitStr,字符串,VARCHAR2,srcStr,oracle,starttimes
From: https://blog.51cto.com/u_16065168/6183031

相关文章

  • Oracle自定义splitstr
     CREATEORREPLACEFUNCTIONSPLITSTR(P_STRINGINVARCHAR2,P_DELIMITERINVARCHAR2)RETURNSTR_SPLITPIPELINEDASV_LENGTHNUMBER:=LENGTH(P_STRING);V_STARTNUMBER:=1;V_INDEXNUMBER;BEGINWHILE......
  • Notepad ++ 将字符串 “\n“ 替换成换行
    一些日志框架,会将一次日志输出全部打印成一行。这时候,如果我们调用栈信息打印到日志,它并不会换行。这样,在定位一些问题的时候,就不那么能直观地看出调用栈信息。需要我们将日志中的"\n"替换成换行符。  原文:https://blog.csdn.net/VXzhangkaiOsLab/article/details/128289498......
  • php多字节填充裁剪字符串
    2023年4月11日09:46:02if(!function_exists('mb_padding_str')){//填充,裁剪多字节字符串functionmb_padding_str(string$str='',int$length=20,string$paddingStr=' '){$len=mb_strlen($str);......
  • python写入数据到oracle clob字段
     环境:Python:3.6.5  #!/usr/bin/envpython#coding=utf-8importos,json,urllib,datetime,shutilimporttimeimportcx_Oraclegl_mysql_server="192.168.1.118"gl_user_name="hxl"gl_password="mysql"gl_db_name="db_t......
  • String字符串
          ==号的比较:  字符串的比较;  ......
  • 剑指offer38(Java)-字符串的排列(中等)
    题目:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"] 限制:1<=s的长度<=8来源:力扣(LeetCode)链接:https://leetcode.cn/pr......
  • 练习4-1 编写一个函数strrindex(s, t),用于返回字符串t在s中最右出现的位置,如果 s中不
    #include<stdio.h>#include<string.h>intstrrindex(chars[],chart[]){inti,j,k;intlen=strlen(s);for(i=len-1;i>=0;i++){for(j=i,k=0;t[k]!=0&&s[j]==t[k];j++,k++);if(k>0&......
  • java将集合里面的元素拼接为一条String字符串
    java将集合里面的元素拼接为一条String字符串1️⃣随便创建一个list集合,往里面塞入元素  2️⃣第一种方式:通过foreach循环实现  但是通过这种方式只能将list集合里面的元素取出来变成一天string类型的字符串,不能根据自己的想法拼接  2️⃣第二种方式【推荐】:通过st......
  • Oracle常用方法
    一、截取字符串1.substr(String,int1,int2) //参数1:要截取的字符串,参数2:从第几位字符串开始截取,参数3:保留几位长度的字符串 即,将某个字符串从int1开始截取,保留int2位长度2.substr(String,int1)//参数1:要截取的字符串,参数2:从第几位字符串开始截取 即,将某个字符串从int1......
  • oracle导出impdp导入已存在表设置TABLE_EXISTS_ACTION参数
    目录oracle导出impdp导入已存在表设置TABLE_EXISTS_ACTION参数1、TABLE_EXISTS_ACTION参数说明2、使用示例oracle导出impdp导入已存在表设置TABLE_EXISTS_ACTION参数1、TABLE_EXISTS_ACTION参数说明有四个参数:skip:默认操作,跳过已存在的表不做处理。append:在原有的数据上追加......