博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
它将被转换到一个函数来显示数据行以逗号分隔的数据列在一排
阅读量:7026 次
发布时间:2019-06-28

本文共 1385 字,大约阅读时间需要 4 分钟。

这是使用字符串切割功能的一例select to_number(strvalue) as Value from table(fn_split('1,2,3',',')) select to_char(strvalue) as Value from table(fn_split('aa,bb,cc',','))
函数:
 
CREATE OR REPLACE FUNCTION ROOT.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=0 意味着没有找到.      -- 能够理解为是查询到最后一个单元了.      -- 设置 j := len, 让外部的循环处理能够结束了.      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);      -- 然后设置索引。 下一次再查找的时候。从指定的索引位置開始(不是从0開始找了)      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;

转载地址:http://pioxl.baihongyu.com/

你可能感兴趣的文章
json-lib简单处理json和对json的简单介绍
查看>>
jquery checkbox选中、改变状态、change和click事件
查看>>
java joor 实现反射简单调用
查看>>
membership与成员资格
查看>>
Guava 8-区间
查看>>
自定义Spark Partitioner提升es-hadoop Bulk效率
查看>>
总结一些机器视觉库
查看>>
在CentOS Linux下部署Activemq 5
查看>>
把mysql脚本或其他数据库脚本导入Powerdesigner
查看>>
phalcon 连接多个数据库 phalcon multi-database
查看>>
React Native(十一)——按钮重复点击事件的处理
查看>>
zepto jquery和zepto的区别?
查看>>
机器学习笔记(4):多类逻辑回归-使用gluton
查看>>
26.angularJS $routeProvider
查看>>
内存映射函数remap_pfn_range学习——示例分析(2)
查看>>
年轻的工程师如何月入伍万XD
查看>>
NAT64与DNS64基本原理概述
查看>>
Java-Shiro(四):Shiro
查看>>
Oracle 备份、恢复单表或多表数据步骤
查看>>
ubuntu 步步为营之uclinux编译和移植(完整版)
查看>>