`
m635674608
  • 浏览: 4929512 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

oralce split 函数

    博客分类:
  • sql
 
阅读更多

create OR REPLACE type Split_Type as object
       (
         s_id integer,
         s_value varchar2(1000)
       );

CREATE OR REPLACE TYPE Split_Table IS TABLE OF Split_Type ;


CREATE OR REPLACE FUNCTION Split ( 
     p_str       IN VARCHAR2, 

     p_delimiter IN VARCHAR2 default(',') --分隔符,默认逗号 
 ) 
     RETURN Split_Table 
 IS
     j INT := 0; 
     i INT := 1; 
     len INT := 0; 
     len1 INT := 0; 
     str VARCHAR2 (4000); 
     return_split Split_Table := Split_Table(); 
 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); 
              return_split.EXTEND; 
              return_split (return_split.COUNT) := Split_Type(return_split.Count, str); 
             IF i >= len 
             THEN
                 EXIT; 
             END IF; 
         ELSE
             str := SUBSTR (p_str, i, j - i); 
             i := j + len1; 
             return_split.EXTEND; 
             return_split (return_split.COUNT) := Split_Type(return_split.Count, str); 
         END IF; 
     END LOOP; 
     RETURN return_split; 
 END Split; 

分享到:
评论

相关推荐

    oracle split函数

    oracle split函数,内有两种实现方式,可直接返回多行记录如: 传入参数: SELECT * FROM TABLE(mm_split('中国,be,c,de',',')); 返回四条记录: 中国 be c de

    Oracle中实现Split函数功能

    本文档详细介绍了如何在Oracle数据库中实现像C#等其它编程语言中Split函数来拆分字符的功能。例子简单易懂,并附有详细的实现过程。

    oracle_split_函数_返回数组

    最近在oracle 中用到拆分字符串返回数组,一直头痛,因为在 oracle 中没有类似java中有split 函数 ,所以要自己写。好不容搜到一个。那网上是到处都是这个代码。怎么找都是这个方法,我就用了。这个方法如下: ...

    oracle split 函数

    实现oracle中 分割字符串的功能,返回一个表。 比如:abc;cde;dfd;133 select * from table(split('abc;cde;dfd;133')) 可以返回 abc cde dfd 133

    Oracle 自定义split 函数实例详解

    Oracle没有提供split函数,但可以自己建立一个函数实现此功能。比如“abc defg hijkl nmopqr stuvw xyz”,分隔符是空格,但空格个数不定。 源代码: CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR...

    用Pipelined Table实现split函数的示例

    用Pipelined Table实现split函数的示例

    Oracle,Split

    Oracle,类似.Net中的Split函数 Oracle,类似.Net中的Split函数

    oracle数据库自定义split函数和调用具体实现

    Oracle 自定义函数需求有个字段,工号JOB_NUMBER ='10202804/10133066/10131810',数据库里是编号,所有想写个函数,将JOB_NUMBER 传递进去,然后返回 '张三/李四/王五',如果王五不存在则返回昵称拼接code '张三/...

    F_SPLIT-字符函数.sql

    oracle自定义函数,字符串分解,可按分隔符分解字符串,分隔符可自己随便定义,非常灵活。欢迎下载。

    oracle字符串分割自定义函数

    oracle中没有方便分割字符串的的函数,仿照c#中的split方法和网友的方法,并进行了改进,(1)先自定义个类型str_split,(2)分割函数splitstr,返回table;(3)取第n个数组的get_splitstr,用户1,2,3部建好,使用时只需要...

    Oracle拆分字符串,字符串分割的函数

    Oracle拆分字符串,字符串分割的函数,将返回一个表格,如果有需要的可以下载去看看。

    给Oracle添加split和splitstr函数的方法

    最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处理

    Oracle 姓名自动拆分为汉语拼音函数

    Erp/Ehr/Crm/Clm系统的开发者很多时候会用到姓名拆分为汉语拼音的代码。 这个函数可以帮你实现以下内容。...select fn_getpy( F_namesplit('张三',1),2) as 姓,fn_getpy( F_namesplit('张三',2),2) as 名 from dual

    详解oracle管道函数的用法(一行拆为多行)

    oracle管道函数是一类特殊的函数,oracle管道函数返回值类型必须为集合 如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function)。 关键字PIPELINED表明这是一个...

    添加split和splitstr函数-oracle培训.pdf

    。。。

    添加split和splitstr函数-oracle培训.docx

    。。。

    oracle 函数判断字符串是否包含图片格式的实例代码

    首先是写一个分割字符串的函数,返回table类型 CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_split IS j INT := 0; i INT := 1; len INT := 0; len1 INT...

    oracle 10g问题总结

     select text from all_source where owner=user and name='SF_SPLIT_STRING'  查看表字段  select cname from col where tname='ZW_YINGYEZ'  select column_name from user_tab_columns where table_name='...

Global site tag (gtag.js) - Google Analytics