如果你对Oracle创建Split 和Map 函数感到很是很郁闷时。你就可以浏览下面的文章了,我在一个信誉度很好的网站找到一个关于Oracle创建Split 和Map 函数的相关代码的介绍,以下文章主要是对其代码的介绍。供大家分享。
在Oracle创建Split 和Map 函数
- create or replace TYPE T_VARCHAR2_LIST AS TABLE OF VARCHAR2(200);
- /
- create or replace
- FUNCTION F_SPLIT_STRING(
- p_source VARCHAR2, p_delimiter VARCHAR2
- ) RETURN T_VARCHAR2_LIST
- AS
-
v_layer_rate_list T_VARCHAR2_LIST := T_VARCHAR2_LIST();
- var_tmp VARCHAR2(4000);
- var_element VARCHAR2(4000);
- BEGIN
-
var_tmp := p_source;
-
WHILE instr(var_tmp, p_delimiter)>0 LOOP
-
var_element := substr(var_tmp, 1, instr(var_tmp, p_delimiter)-1);
-
var_tmp := substr(var_tmp,instr(var_tmp, p_delimiter) +
length(p_delimiter),length(var_tmp));
- IF (var_element IS NOT NULL) AND (var_element != p_delimiter) THEN
- v_layer_rate_list.extend(1);
-
v_layer_rate_list(v_layer_rate_list.count) := var_element;
- END IF;
- END LOOP;
- IF (var_tmp IS NOT NULL) AND (var_tmp != p_delimiter) THEN
- v_layer_rate_list.extend(1);
-
v_layer_rate_list(v_layer_rate_list.count) := var_tmp;
- END IF;
- RETURN v_layer_rate_list;
- END F_SPLIT_STRING;
- /
- create or replace
- TYPE T_STRING_MAP AS TABLE OF T_STRING_ENTRY;
- /
- create or replace
- TYPE T_STRING_ENTRY AS OBJECT (
- c_key VARCHAR2(200), c_value VARCHAR2(200)
- );
- /
- create or replace
- FUNCTION f_PARSE_STRING_TO_MAP(
- p_oringal_string VARCHAR2, p_entry_delimiter VARCHAR2,
p_key_delimeter VARCHAR2
- ) RETURN T_STRING_MAP
- AS
- v_entry_list T_VARCHAR2_LIST;
-
v_string_map T_STRING_MAP := T_STRING_MAP();
-
v_string_entry T_STRING_ENTRY := T_STRING_ENTRY(NULL,NULL);
- v_int NUMBER(4);
- BEGIN
-
v_entry_list := F_SPLIT_STRING(p_oringal_string, p_entry_delimiter);
- FOR l_entry IN v_entry_list.first..v_entry_list.last
- LOOP
-
v_int := instr(v_entry_list(l_entry), p_key_delimeter);
-
v_string_entry.c_key := substr(v_entry_list(l_entry), 0, v_int-1);
-
v_string_entry.c_value := substr(v_entry_list(l_entry),
v_int+length(p_key_delimeter));
- v_string_map.extend;
-
v_string_map(v_string_map.count) := v_string_entry;
- END LOOP;
- RETURN v_string_map;
- END f_PARSE_STRING_TO_MAP;
- /
http://database.51cto.com/art/201004/193775.htm
上述的相关内容就是对Oracle创建Split 和Map 函数的描述,希望会给你带来一些帮助在此方面
分享到:
相关推荐
本文档详细介绍了如何在Oracle数据库中实现像C#等其它编程语言中Split函数来拆分字符的功能。例子简单易懂,并附有详细的实现过程。
最近在oracle 中用到拆分字符串返回数组,一直头痛,因为在 oracle 中没有类似java中有split 函数 ,所以要自己写。好不容搜到一个。那网上是到处都是这个代码。怎么找都是这个方法,我就用了。这个方法如下: ...
oracle split函数,内有两种实现方式,可直接返回多行记录如: 传入参数: SELECT * FROM TABLE(mm_split('中国,be,c,de',',')); 返回四条记录: 中国 be c de
wm_concat函数在oracle 10G以下版本是没有的,这个就需要我们自己来创建,有需要的就下载下来,直接运行就行了,如果在运行中出中,请分开运行,不要一次性运行哟
用Pipelined Table实现split函数的示例
Oracle没有提供split函数,但可以自己建立一个函数实现此功能。比如“abc defg hijkl nmopqr stuvw xyz”,分隔符是空格,但空格个数不定。 源代码: CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR...
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分析函数的示例数据 其实也就是Mastering oracle sql书的SQL脚本
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函数及示例,一是为了...
通过学习将Oracle和Hive的常用函数整理出来做了个对比,提供他们各自支持的常用函数。
Oracle,类似.Net中的Split函数 Oracle,类似.Net中的Split函数
最新oracle验证统一社会信用代码的函数,0,1代表成功或者失败。不知为什么自己就把积分提上去了。
oracle内部函数大全 oracle内部函数大全
本人根据GB 32100-2015 法人和其他组织统一社会信用代码编码规则原创,经过测试可以用于商业环境。
Oracle设置用户密码复杂度的函数 创建实现密码自定义规则的函数my_password_verify: