首页 > 数据库 >oracle中的分割函数(split效果)

oracle中的分割函数(split效果)

时间:2024-03-28 10:13:12浏览次数:23  
标签:分割 END ty len VARCHAR2 split str oracle

 

CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)
  RETURN ty_str_split
--分割函数
-- 新建前要先建立ty_str_split 执行语句为:CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);
IS
  j INT := 0;
  i INT := 1;
  len INT := 0;
  len1 INT := 0;
  str VARCHAR2 (4000);
  str_split ty_str_split := ty_str_split ();
BEGIN
  len := LENGTH (p_str);
  len1 := LENGTH (p_delimiter);
  WHILE j < len
  LOOP
    j := INSTR (p_str, p_delimiter, i);
    IF j = 0
    THEN
        j := len;
        str := SUBSTR (p_str, i);
        str_split.EXTEND;
        str_split (str_split.COUNT) := str;
        IF i >= len
        THEN
          EXIT;
        END IF;
    ELSE
        str := SUBSTR (p_str, i, j - i);
        i := j + len1;
        str_split.EXTEND;
        str_split (str_split.COUNT) := str;
    END IF;
  END LOOP;
  RETURN str_split;
END fn_split;

-- 使用方式

select * from table(fn_split('1,2',','))
select COLUMN_VALUE from table(fn_split('1,2',','))

标签:分割,END,ty,len,VARCHAR2,split,str,oracle
From: https://www.cnblogs.com/dl-chenw/p/18100901

相关文章

  • Oracle中的for update 和 for update nowait
    在Oracle数据库中,FORUPDATE和FORUPDATENOWAIT是两种用于行级锁定的SQL子句,它们通常用在SELECT语句中以确保数据的一致性和隔离性。这里是它们的基本区别和用法:FORUPDATEFORUPDATE子句用于锁定SELECT语句检索到的行,以便于进行更新操作。当使用FORUPDATE时,如果所选行已经......
  • 【Oracle】获取指定用户的所有表的行数(实时的)
    #!/bin/bash#ORACLE_USER="username"ORACLE_PASSWORD="password"ORACLE_HOST="hostname"ORACLE_PORT="port"ORACLE_SID="SID"#rowcountfunctionget_table_row_count(){localtable_name=$1sqlplu......
  • Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩
    --------------Pillow教程集合---------------Python项目18:使用Pillow模块,随机生成4位数的图片验证码Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)Pillow教程03:图像......
  • oracle 11G 数据库归档日志清理流程。
    oracle11G数据库归档日志清理流程。链接:ORACLE11g数据库归档日志清理规程-百度文库(baidu.com)......
  • Oracle 分页查询,排序分页
    效率最高内查询小于等于外查询大于select*from(selectt.*,rownumasnfromSTUDENTtwhererownum<=4)twheret.n>2orderbyt.iddesc;查看执行计划explainplanforselect*from(selectrownumasn,d.*fromdeptdwhererownum<=4)twheret.n>......
  • Oracle 小知识
    --会乱码SELECTsys_guid()fromdual;--大写uuidSELECTRAWTOHEX(SYS_GUID())FROMdual;--小写SELECTlower(sys_guid())fromdual;--列拼接SELECTname||create_time||idaFROMSTUDENTs;--字符串拼接SELECT'张三'||'李四'||'王五'nameFROM......
  • Oracle数据库入门第三课(函数)
    前面二白讲了一些简单的查询语句,仅仅知道查询语句的语法是不够的,要想实现更多的需求,更重要的是函数的使用,这节课我们简单说一下一些函数的使用。一、函数的分类什么叫做函数?函数就是用来实现某种功能的,提前声明好的代码块分类:•系统函数         ‣单行函数......
  • Oracle导出数据库与还原
    导出部分1.获取到Oracledirectory目录与实际电脑目录的映射2.CMD导出Oracle数据库DMP文件//expdp用户/密码@数据库监听地址schemas=表空间名称dumpfile=自定义名称.dmpdirectory=DATA_DIR(上面SQL中DIRECTORY_NAME选择一个导出的文件就会在对应的DIRECTORY_PATH......
  • 代码随想录算法训练营第二十七天|●39. 组合总和 ● 40.组合总和II ● 131.分割回文串
    39组合总和题目链接/文章讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ一开始自己写的大概和答案差不多,但是弄不明白回溯要传递的参数,但是自己一开始想到了终止条件,如果>7了就......
  • Oracle备份的几种方式
    原文出处:https://www.cnblogs.com/lcword/p/11775657.html 从物理与逻辑的角度来分类:从物理与逻辑的,备份可以分为物理备份和逻辑备份。物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数......