Oracle split

复制代码
CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000)

CREATE OR REPLACE FUNCTION splitstr(p_string    IN VARCHAR2,
                                    p_delimiter IN VARCHAR2)
  RETURN str_split
  PIPELINED AS
  v_length NUMBER := LENGTH(p_string);
  v_start  NUMBER := 1;
  v_index  NUMBER;
BEGIN
  WHILE (v_start <= v_length) LOOP
    v_index := INSTR(p_string, p_delimiter, v_start);
  
    IF v_index = 0 THEN
      PIPE ROW(SUBSTR(p_string, v_start));
      v_start := v_length + 1;
    ELSE
      PIPE ROW(SUBSTR(p_string, v_start, v_index - v_start));
      v_start := v_index + 1;
    END IF;
  END LOOP;

  RETURN;
END splitstr;
相关推荐
IvorySQL6 分钟前
PostgreSQL 日报|逻辑复制行过滤致数据丢失(8 月 21 日)
数据库·postgresql
重生之我是Java开发战士15 分钟前
【Java EE】事务与事务的传播机制
数据库·java-ee
润乾软件18 分钟前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
会编程的吕洞宾26 分钟前
Redis大Key拖垮线上?排查定位与治理实战
数据库·redis·bootstrap
ltl1 小时前
WiredTiger History Store:文档库里的第三种 MVCC
数据库
码农阿豪1 小时前
若依启动突然报 Redis MISCONF?一次从应用报错到磁盘爆满的完整排查记录
数据库·redis·bootstrap
ltl1 小时前
SQLite 查询计划器:没有 ANALYZE 时靠什么猜
数据库
ltl1 小时前
Redis maxmemory 策略:近似 LRU/LFU 与 MEMORY DOCTOR
数据库
leisoo80971 小时前
ig50数据落盘ClickHousevsTimescaleDBvsDuckDB实测对比 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
Lucifer三思而后行1 小时前
Oracle 23ai/26ai 新功能:一条命令把 PDB 用户设为只读
oracle·pdb