`
shoushounihao
  • 浏览: 41364 次
  • 性别: 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;

分享到:
评论

相关推荐

    c#中结构数组的定义

    1. **一维数组**:是最基本的数组类型,如`int[] numbers;`。 2. **多维数组**:可以理解为矩阵形式的数组,如`string[,] names;`表示一个二维数组。 3. **交错数组(数组的数组)**:每个元素本身也可以是数组,如`...

    易语言重定义多维数组

    本资源名为“易语言重定义多维数组源码”,意味着它提供了一种方法来重新定义已经创建的多维数组。在易语言中,动态调整数组大小的能力是非常有用的,特别是在程序运行过程中需要根据需求变化调整存储空间的情况。...

    Java之数组+变量.docx

    Java数组和变量的使用 Java基础之数组和变量的使用是Java学习的基础知识,对新学员来说,必定要学习数组和变量的使用。下面是关于数组和变量的知识点总结。 一、数组工具类Arrays Arrays是Java提供的一个工具类,...

    易语言重定义数组教程

    本教程将深入讲解易语言中的“重定义数组”这一概念,帮助你理解和掌握如何在程序运行过程中动态调整数组的大小和结构。 首先,我们需要理解数组的基本概念。在易语言中,数组是由相同类型的多个变量组成的集合,...

    vba返回数组类型vba返回数组类型vba返回数组类型

    ### VBA返回数组类型 #### 1. **数组定义** 在VBA中,数组是一种数据结构,可以存储多个相同类型的变量。数组可以是一维的,也可以是多维的。例如,在给定的部分内容中,可以看到如下数组定义: ```vb Private ...

    易语言源码易语言学习进阶重定义数组源码.rar

    "重定义数组"是易语言中处理数组的一种特殊技巧,它允许程序员在程序运行过程中改变数组的大小或类型,以适应不同的需求。 在易语言中,数组的定义通常是在程序开始时完成的,例如: ```易语言 .整数数组 数组名...

    易语言重定义数组命令使用讲解

    `重定义数组(欲重定义的数组变量,是否保留以前的内容,数组对应维的上限值,...)` 在这个语法结构中,首先需要指定要重定义的数组变量,即你希望修改其属性的数组。其次,第二个参数用于决定在重新定义数组时...

    完整版子程序返回数组演示(自定义类型实现).e.rar

    自定义类型,又称为结构体或类,是一种创建复杂数据结构的方式,它允许我们将多个相关变量封装在一起作为一个单一的实体。自定义类型可以包含基本类型如整型、浮点型,也可以包含其他自定义类型,甚至可以包含方法。...

    易语言重定义数组教程-易语言

    在易语言中,数组可以通过定义数组变量来创建。例如,你可以定义一个整型数组,如下所示: ```易语言 .整数数组 数组名, 元素数量 ``` 这里的“.整数数组”表示数组元素的类型为整数,“数组名”是你为数组取的...

    ASP定义数组方法的技巧

    【ASP定义数组方法的技巧】ASP (Active Server Pages) 是微软的一种服务器端脚本技术,用于构建动态网页。在ASP中,数组是一种重要的数据结构,它允许存储一组相关的数据。数组可以是单一维度的,也可以是多维的,且...

    C语言程序设计(第2版)-2期 常见问题6-1 使用变量定义数组.pdf

    在C语言程序设计(第2版)-2期的学习过程中,可能会遇到一个问题,即尝试使用变量来定义数组的大小,这在C语言中是不被允许的。下面将详细解释这个问题,并提供相应的解决方案。 在示例程序段中: ```c int n=10, a...

    易语言自定义数据类型数组排序

    局部变量 产品数组, 产品[100] ``` 3. **填充数组**:向数组中添加产品数据,可以使用循环或其他方法。 ```易语言 对于 i 从 1 到 100 产品数组[i].品名 = "商品" + i 产品数组[i].产地 = "产地" + i % 5 ...

    易语言赋值定义多维数组

    在易语言中,数组是存储一系列相同类型数据的数据结构,而多维数组则是数组的一种扩展,可以理解为数组的数组,允许我们在一个变量中存储多个有序的数据集合。 在"易语言赋值定义多维数组"这个主题中,我们将深入...

    matlab如何定义空数组

    在MATLAB中,定义空数组是一项基础操作,它在编程过程...总的来说,MATLAB提供了多种方式定义空数组,以及根据需要创建各种类型的数组,包括等差序列和对数序列。熟练掌握这些技巧,能够帮助你更高效地处理和操作数据。

    Delphi实例源码演示静态与动态数组变量的不同.rar

    Delphi实例源码"Delphi实例源码演示静态与动态数组变量的不同.rar"中的代码文件,很可能是为了展示这两种数组类型的创建、访问和修改过程,以及它们在性能上的差异。通过对比实验,开发者可以更好地理解何时选择静态...

    go代码-数组定义 数组循环

    首先,我们来了解一下如何在Go中定义数组。数组的定义通常包括数组的类型和长度。类型是指数组中每个元素的类型,长度则是数组中元素的数量。例如,如果你想要创建一个包含5个整数的数组,可以这样定义: ```go var...

    php定义数组和使用示例(php数组的定义方法)

    在PHP中定义数组有几种不同的方式,包括使用array()语言结构的简化数组语法、索引数组和关联数组的概念、以及如何通过键值对的方式创建复合型数组。 首先,我们来了解如何定义一个基本的索引数组。索引数组使用数字...

    c#语言数组用法详解

    在C#中,数组的声明与许多其他语言有所不同,数组类型需要紧跟在方括号之后,而不是标识符之后。例如,正确的声明方式是`int[] numbers`,而不是`int numbers[]`。 声明数组: C#支持三种类型的数组:一维数组、...

Global site tag (gtag.js) - Google Analytics