`

Oracle创建Split 与Map 函数的代码示例

Map 
阅读更多

如果你对Oracle创建Split 和Map 函数感到很是很郁闷时。你就可以浏览下面的文章了,我在一个信誉度很好的网站找到一个关于Oracle创建Split 和Map 函数的相关代码的介绍,以下文章主要是对其代码的介绍。供大家分享。

在Oracle创建Split 和Map 函数

  1. create or replace TYPE T_VARCHAR2_LIST AS TABLE OF VARCHAR2(200);  
  2. /  
  3. create or replace  
  4. FUNCTION F_SPLIT_STRING(  
  5. p_source VARCHAR2, p_delimiter VARCHAR2  
  6. ) RETURN T_VARCHAR2_LIST  
  7. AS  
  8. v_layer_rate_list T_VARCHAR2_LIST :T_VARCHAR2_LIST();  
  9. var_tmp VARCHAR2(4000);  
  10. var_element VARCHAR2(4000);  
  11. BEGIN  
  12. var_tmp :p_source;  
  13. WHILE instr(var_tmp, p_delimiter)>0 LOOP  
  14. var_element :substr(var_tmp, 1, instr(var_tmp, p_delimiter)-1);  
  15. var_tmp :substr(var_tmp,instr(var_tmp, p_delimiter) + 
    length(p_delimiter),length(var_tmp));  
  16. IF (var_element IS NOT NULL) AND (var_element != p_delimiter) THEN  
  17. v_layer_rate_list.extend(1);  
  18. v_layer_rate_list(v_layer_rate_list.count) :var_element;  
  19. END IF;  
  20. END LOOP;  
  21. IF (var_tmp IS NOT NULL) AND (var_tmp != p_delimiter) THEN  
  22. v_layer_rate_list.extend(1);  
  23. v_layer_rate_list(v_layer_rate_list.count) :var_tmp;  
  24. END IF;  
  25. RETURN v_layer_rate_list;  
  26. END F_SPLIT_STRING;  
  27. /  
  28. create or replace  
  29. TYPE T_STRING_MAP AS TABLE OF T_STRING_ENTRY;  
  30. /  
  31. create or replace  
  32. TYPE T_STRING_ENTRY AS OBJECT (  
  33. c_key VARCHAR2(200), c_value VARCHAR2(200)  
  34. );  
  35. /  
  36. create or replace  
  37. FUNCTION f_PARSE_STRING_TO_MAP(  
  38. p_oringal_string VARCHAR2, p_entry_delimiter VARCHAR2,
     p_key_delimeter VARCHAR2  
  39. ) RETURN T_STRING_MAP  
  40. AS  
  41. v_entry_list T_VARCHAR2_LIST;  
  42. v_string_map T_STRING_MAP :T_STRING_MAP();  
  43. v_string_entry T_STRING_ENTRY :T_STRING_ENTRY(NULL,NULL);  
  44. v_int NUMBER(4);  
  45. BEGIN  
  46. v_entry_list :F_SPLIT_STRING(p_oringal_string, p_entry_delimiter);  
  47. FOR l_entry IN v_entry_list.first..v_entry_list.last  
  48. LOOP  
  49. v_int :instr(v_entry_list(l_entry), p_key_delimeter);  
  50. v_string_entry.c_key :substr(v_entry_list(l_entry), 0, v_int-1);  
  51. v_string_entry.c_value :substr(v_entry_list(l_entry), 
    v_int+length(p_key_delimeter));  
  52. v_string_map.extend;  
  53. v_string_map(v_string_map.count) :v_string_entry;  
  54. END LOOP;  
  55. RETURN v_string_map;  
  56. END f_PARSE_STRING_TO_MAP;  
  57. /  
http://database.51cto.com/art/201004/193775.htm

 

上述的相关内容就是对Oracle创建Split 和Map 函数的描述,希望会给你带来一些帮助在此方面

分享到:
评论

相关推荐

    Oracle中实现Split函数功能

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

    oracle_split_函数_返回数组

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

    oracle split函数

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

    oracle 创建wm_concat函数

    wm_concat函数在oracle 10G以下版本是没有的,这个就需要我们自己来创建,有需要的就下载下来,直接运行就行了,如果在运行中出中,请分开运行,不要一次性运行哟

    用Pipelined Table实现split函数的示例

    用Pipelined Table实现split函数的示例

    Oracle 自定义split 函数实例详解

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

    oracle汉字转拼音的函数代码

    oracle中进行汉字转拼音的函数代码。也是从别处找到的,觉得挺有用的,也许对你也有帮助!

    ORACLE函数介绍 全系列中文

    oracle函数介绍 1 著名函数之单值函数 pdf oracle函数介绍 2 非著名函数之单值函数 pdf oracle函数介绍 3 著名函数之聚合函数 pdf oracle函数介绍 4 非著名函数之聚合函数 pdf oracle函数介绍 5 分析函数简述 ...

    oracle函数大全,oracle函数大全,

    oracle函数大全,oracle函数大全,oracle函数大全,oracle函数大全,

    oracle 函数大全oracle 函数大全

    oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全

    oracle函数大全 oracle函数大全

    oracle函数大全 oracle函数大全 oracle函数大全

    Oracle分析函数 示例数据

    Oracle分析函数的示例数据 其实也就是Mastering oracle sql书的SQL脚本

    oracle中的一些常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函数及示例,一是为了...

    Hive与Oracle常用函数对比

    通过学习将Oracle和Hive的常用函数整理出来做了个对比,提供他们各自支持的常用函数。

    Oracle,Split

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

    最新oracle验证统一社会信用代码的函数

    最新oracle验证统一社会信用代码的函数,0,1代表成功或者失败。不知为什么自己就把积分提上去了。

    oracle内部函数大全

    oracle内部函数大全 oracle内部函数大全

    Oracle校验统一社会信用代码函数

    本人根据GB 32100-2015 法人和其他组织统一社会信用代码编码规则原创,经过测试可以用于商业环境。

    Oracle设置用户密码复杂度的函数

    Oracle设置用户密码复杂度的函数 创建实现密码自定义规则的函数my_password_verify:

Global site tag (gtag.js) - Google Analytics