电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

Oracle中的Split函数

来源:金蝶云社区作者:金蝶2024-09-164

Oracle中的Split函数

Oracle中的Split函数

首先需要定义 2 个类型
1. Row 类型
CREATE OR REPLACE TYPE ty_row_str_split  as object (strValue VARCHAR2 (4000))
2. Table 类型
CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split

创建函数:
复制代码
CREATE OR REPLACE FUNCTION fn_split(p_str       IN VARCHAR2,
                                    p_delimiter 
IN VARCHAR2)
  
RETURN ty_tbl_str_split IS
  j         
INT := 0;
  i         
INT := 1;
  
len       INT := 0;
  len1      
INT := 0;
  
str       VARCHAR2(4000);
  str_split ty_tbl_str_split :
= ty_tbl_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) := ty_row_str_split(strValue => 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) := ty_row_str_split(strValue => str);
    
END IF;
  
END LOOP;


  
RETURN str_split;
END fn_split;

复制代码

使用样例:
select to_number(strvalue) as Value from table(fn_split('1,2,3',','))

sele

Oracle中的Split函数

Oracle中的Split函数首先需要定义 2 个类型1. Row 类型CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信