爱问知识人 爱问教育 医院库

怎样在oracle创建Split和Map函数?

首页

怎样在oracle创建Split和Map函数?

怎样在oracle创建Split和Map函数?

提交回答

全部答案

    2017-07-26 20:50:24
  •   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;  /   以上是我对于这个问题的解答,希望能够帮到大家。

    z***

    2017-07-26 20:50:24

类似问题

换一换
  • 系统软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):