`
shoushounihao
  • 浏览: 39105 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

定义数组类型变量

 
阅读更多

create or replace function STR_LENGTH(str1 varchar2,str2 varchar2)
return varchar2
  is
  returnstring  varchar2(5);
  len integer;
  len1 integer;
  len2 integer;
  strconact varchar2(6000);
begin
   returnstring:='0';
  -- strconact:=str1||str2;
   select myreplace(str1||','||str2,',') into strconact from dual;
  len1:=length(str1);
  len2:=length(str2);
  len:=length(strconact);
  if len<(len1+len2) then
    returnstring:='1';
  end if;
  return(returnstring);
end STR_LENGTH;

 

 

create or replace function MyReplace(oldStr varchar2, sign varchar2) return varchar2 is
  str varchar2(1000);
  currentIndex number;
  startIndex number;
  endIndex number;

  type str_type is table of varchar2(30)
       index by binary_integer;----数组,以索引为主
  arr str_type;

  Result varchar2(1000);
begin
  if oldStr is null then
    return ('');
  end if;

  str := oldStr;

  currentIndex := 0;
  startIndex := 0;
  loop
    currentIndex := currentIndex + 1;
    endIndex := instr(str, sign, 1, currentIndex);

    if (endIndex <= 0) then
      exit;
  end if;

  arr(currentIndex) := trim(substr(str, startIndex + 1, endIndex - startIndex - 1));
  startIndex := endIndex;
  end loop;

  --取最后一个字符串
  arr(currentIndex) := substr(str, startIndex + 1, length(str));

  --去掉重复出现的字符串
  for i in 1.. currentIndex - 1 loop
  for j in i + 1..currentIndex loop
    if arr(i) = arr(j) then
      arr(j) := '';
    end if;
  end loop;
  end loop;

  str := '';
  for i in 1..currentIndex loop
  if arr(i) is not null then
    str := str || sign || arr(i);

    --数组置空
    arr(i) := '';
  end if;
  end loop;

  --去掉前面的标识符
  Result := substr(str, 2, length(str));


  return(Result);
end MyReplace;

分享到:
评论

相关推荐

    达梦数据库数组类型定义和数组内元素增加/删除/查询

    达梦数据库数组类型定义和数组内元素增加/删除/查询

    指针与数组.docx 指针数组:数组类型 *数组名数组长度

    指针数组:数组类型 *数组名[数组长度]; 例:int *parr[5]; 数组指针:类型名 (*指针名)[数组长度]; 例:int (*parr)[5]; 现在我们再来通过上面的定义来分析一下指针数组和数组指针。 int *parr[5];因为优先级的关系...

    定义结构体类型变量的方法

    本文教你一种定义结构体类型变量的方法。

    数组函数封装

    [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,...

    2数组.rar数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。

    数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。 注意:如果...

    WebGL着色器——数组

    WebGL着色器和javascript语言、C语言一样 可以声明数组类型变量,不过WebGL着色器的数据仅仅支持一维数组,不支持多维数组。 声明语法结构 数组元素的数据类型 数组变量名[数组元素个数] // 声明一个数组变量fArr,...

    Java数组的定义及用法

     当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。  另外一种形式对C++开发人员可能认为非常奇怪,只是对JAVA或C#这种...

    数组概述和特点

     数组的定义:数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.  数组的三个...

    VBA 数组进阶——进阶即为探寻细节,“实践出真知”。

    数组是一组连续可索引的具有相同内在数据类型的元素所成的集合,在未指定为变体变量情况下。 2、上界、下界和下标 上界:数组某一维可用的最大下标。用Ubound 函数表示。 下界:数组某一维的最小下标。默认最小下标...

    C#基础知识数据类型等信息

    数据类型 变量常量的定义 数组 类型转换 运算符 控制结构

    实验二 方法的定义、重载;数组的应用 定义一个数组,并获取该数组中值最小的元素

    该方法应返回一个int型的数值,参数为数组类型。在方法中,定义一个临时变量min,用于记住数组的最小值。首先假设数组中第一个元素arr[0]为最小值,然后使用for循环对数组进行遍历,在遍历的过程中只要遇到比min值还...

    编译原理课程设计_pl0扩展

    仿照Pascal语言,对pl0编译程序(清华大学书后源码)进行以下简单扩展—— 不等号: 指针: & @ if - else for ++ -- += -= 数组 程序还有多不足,希望和大家共同学习!!

    demo06.zip

    * 如何定义数组? * 数组类型【】 数组名; * * 如果数组定义好以后,必须得进行初始化 * 数组的初始化一共有两种: * 1.动态初始化:需要指定数组的长度,长度指的是数组中能存多少数据,数组的...

    2个数组指向同一个空间.txt

    还可以使用另一种方法定义数组,例如: int a[]; 以上这两种方法的定义是等价的。在这里只定义了一个整型数组变量 a,但是还没有将 a 真正的初始化为一个数组。为将一个数组初始化可以使用 new 关键字,也可以...

    详解c# 数组(Array)

    数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。 声明数组变量并不是声明 number0、number1、…、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、...

    【03-流程控制与数组】

     针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。 •※注意:定义数组时不能指定数组的长度。 数组的初始化 •静态初始化:初始化时由程序员显式指定每个数组的初始值...

    结构体变量引用-数组-指针

    #include using namespace std;... //结构体变量名定义 int day; int year; }; struct teacher { int num; char name[20]; struct date birthday; //结构体的嵌套定义 int salary; char addr[30]; };...

    Java的数组.docx

    //声明一个字符串类型的数组 //创建数组 //声明数组的同时进行创建 //初始化数组 //循环为整型数组赋值 //循环输出整型数组中的元素 //求整形数组的累加和 //定义整形数组 //从键盘接收数据,为数组元素赋值 //求...

    21天学会Java之(Java SE第八篇):数组、冒泡排序法、二分法查找

    数组类型可以是任何数据类型,包括基本类型和引用类型。 注意事项: 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论...

    C语言结构体.ppt

    定义结构体类型 定义结构体类型变量 引用结构体变量 给结构体变量赋值 结构体的嵌套 结构体数组 指向结构体类型变量的指针

Global site tag (gtag.js) - Google Analytics