`

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 函数的描述,希望会给你带来一些帮助在此方面

分享到:
评论

相关推荐

    JDK7 API 下载(我从oracle官网上下下来的)

    JDK7是Oracle公司发布的一个重要版本,它在JDK6的基础上引入了许多新特性和改进,以提升开发效率和程序性能。API(Application Programming Interface)文档则是JDK的重要组成部分,它为开发者提供了详细的类库参考...

    Perl 实例精解(第三版).pdf

    4.4.6 map函数 4.4.7 pack和unpack函数 4.4.8 pop函数 4.4.9 push函数 4.4.10 shift函数 4.4.11 splice函数 4.4.12 split函数 4. 4.13 sort函数 4.4.14 reverse函数 4.4.15 unshift函数...

    大数据平台-Sqoop培训.pdf

    接着,它会设置MapReduce作业所需的参数,并由MapReduce框架负责执行实际的数据迁移工作,包括数据的切分、范围的写入、RecordReader的创建以及Map函数的调用,最终将数据导入HDFS或导出到数据库。 总结来说,Sqoop...

    Presto-Plugins:示例Presto插件

    Presto是一个高性能、分布式SQL查询引擎,设计用于处理大规模数据集。它支持多种数据源,包括Hadoop HDFS、...通过分析和实践提供的示例插件,我们可以深入了解Presto的工作机制,并掌握创建自己的Presto插件的技能。

    面试笔试题,希望大家能用到(部分)

    #### 题目7:列举20个Struts框架与JSTL标签库的使用示例 - **知识点**: - Struts框架概述:MVC架构模型。 - Action类定义:处理业务逻辑。 - 配置文件解析:struts.xml配置文件。 - 拦截器与过滤器:控制流程。...

    石家庄天远科技集团有限公司—Java开发笔试题

    示例代码包括`Class.forName()`、`DriverManager.getConnection()`、`Statement`和`ResultSet`等。 Oracle中的字符串操作函数包括`CONCAT()`连接字符串,`ASCII()`返回对应整数的字符,`INSTR()`查找字符位置,`...

    [免费] jdk7 api文档

    7. **集合改进**:在Java 7中,集合框架得到了增强,例如`Collections.addAll()`方法可以接受可变参数,`HashMap`和`HashSet`的构造函数接受一个`Map`作为参数,以及`Map`的`putAll()`方法现在可以接受另一个`Map`。...

    大数据面试整理

    - Map阶段:Mapper函数接收键值对,处理数据并生成中间键值对。 - Shuffle & Sort:中间键值对根据键进行排序,并分区,准备传递给Reducer。 - Reduce阶段:Reducer函数接收相同键的所有值,执行聚合操作,如求和...

    windows 64位 jdk7和jdk8

    3. **Stream API**:这是一个用于处理集合的新API,提供了丰富的操作集合的函数式接口,如filter、map、reduce等,使处理大量数据变得更加高效。 4. **日期和时间API**:`java.time`包取代了过时的`java.util.Date`...

    java面试题

    const [year, month, day] = dateStr.split('-').map(Number); const date = new Date(year, month - 1, day); return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day...

    perl教程 希望对大家有用

    7. **文本处理和脚本编写**:Perl是处理文本和编写系统管理脚本的理想选择,它内置了许多方便的文本处理函数,如split、join、chomp等,以及强大的文本处理工具如grep、map和sort。 8. **网络编程**:Perl可以用来...

    hadoop权威指南

    - Map和Reduce函数编写。 - 控制程序流程。 - **示例**: 常见的WordCount程序开发,统计文本文件中的单词频率。 - **高级功能**: - 组合器(Combiner): 减少网络传输的数据量。 - Partitioner: 控制数据如何...

    java7,32位+64位安装包

    Java 7,也被称为Java SE 7 (Java Standard Edition 7),是Oracle公司发布的一个重要的Java开发和运行环境。这个版本在2011年发布,引入了许多新特性,优化了语言语法,增强了多线程处理,提升了I/O性能,并且对垃圾...

    Python2.x利用commands模块执行Linux shell命令

    usedPercents_2 = commands.getoutput("df -h | grep -v map | grep -v sda | grep -v tmp | grep -v system | awk '{print $4}' | grep -Eo '[0-9]+'").split('\n') # 遍历磁盘使用率列表,检查是否超过阈值 for i...

    JDK1.7的API文档

    JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的工具集合,而JDK1.7,也被称为Java SE 7(Java Standard Edition 7),是Java语言发展的一个重要版本。这个版本在2011年发布,引入了...

    ip.zip_数据库编程_Visual_C++_

    标题中的“ip.zip_数据库编程_Visual_C++_”暗示了这个压缩包包含与数据库编程相关的资源,特别是使用Visual C++编写的程序或代码片段,用于处理IP查询。描述进一步明确了这是一个关于“ip纯真数据库”的项目,数据...

    hackerrank:这包含针对HackerRank问题的解决方案

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。它的设计目标是具有简单的、健壮的、安全的、可移植的、高性能和多线程的特性。Java代码可以在任何支持Java运行环境...

Global site tag (gtag.js) - Google Analytics