首页 > 数据库 >oracle 自定义函数splitstr

oracle 自定义函数splitstr

时间:2023-02-03 10:23:40浏览次数:52  
标签:自定义 idx sep -- 函数 splitstr varchar2 oracle string

 

函数主体

create or replace type type_split as table of varchar2(4000)

 

create or replace function splitstr(p_string varchar2,
                                    p_sep    varchar2 := ',')
  return type_split
  pipelined
--dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端
  --pipelined 表明这是一个管道函数,oracle管道函数的返回值类型必须为集合
  --PIPE ROW语句被用来返回该集合的单个元素
 as
  v_string varchar2(4000) := p_string;
  idx      Number;
begin
  loop
    --idx为第一个,所在的位置
    idx := instr(v_string, p_sep);
    if idx > 0 then
      --,前面的数据加入Row/,后面的数据为下个循环使用的字符串
      pipe row(substr(v_string, 1, idx - 1));
      v_string := substr(v_string, idx + length(p_sep));
    else
      PIPE ROW(v_string);
      EXIT;
    end if;
  end loop;
  --执行完后需return
  return;
end;

 使用

select * from table(SPLITSTR(PARA1.PROPERTY_VALUE, ','))

 

标签:自定义,idx,sep,--,函数,splitstr,varchar2,oracle,string
From: https://www.cnblogs.com/net-god/p/17088290.html

相关文章

  • 微信小程序:自定义导航栏
    自定义导航栏使用weapp-navigation-bar组件,网址:https://github.com/mulook/weapp-navigation-bar使用说明:1、app.json配置以下属性"window":{"backgroundTe......
  • Linux下重启Oracle数据库
    1、Linux下以Oracle帐户进入Linux系统。su -oracle   ---切换成oracle用户登录2、执行以下命令查看数据库监听器的状况:lsnrctlstatus3、执行以下命令停止数据库监......
  • vue实现自定义v-loading指令
    实现dom节点的局部loading效果,效果如element-ui的v-loading。实现代码:loading.js,其中@/components/loadingComponent/index.vue为自定义的一个loading组件,可自行实现。......
  • Oracle查询
    --恢复表FLASHBACKTABLE"Student"TOBEFOREDROP;FLASHBACKTABLE"Grade"TOBEFOREDROP;--给字段起别名select"GradeID"as年纪编号,"GradeIdName"as"年纪名称"......
  • Oracle增删改
    --相表中插入一条数据INSERTINTO"Grade"("GradeID","GradeIdName")values(1,'20级中职');--如果按序插入,可以省略字段列表INSERTINTO"Grade"values(2,'19级中职');--插......
  • mybatis在代码中自定义sql
           ......
  • Swift Codable 自定义默认值解码
     前言最近我们公司服务端修改了某个接口返回数据结构,减少了一些字段,导致iOS这边codeable解码失败,获取不到正确的数据信息,相关业务无法完成。不想使用可选值类型,可以使用......
  • Android Studi导出apk包自定义文件名
    在app的gradle配置文件中的release代码块中放置以下代码android.applicationVariants.all{variant->variant.outputs.all{output->if(outputFileNa......
  • KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复
    案例说明:KingbaseESV8R6在通过sys_rman执行物理备份恢复时,可以通过参数‘--kb1-path’,指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空间映射,再执......
  • maven自定义替换的分隔符
    自定义分隔符,需要我们配置maven-resources-plugin插件的参数,如下<plugins>    <plugin>        <groupId>org.apache.maven.plugins</groupId>     ......