加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle从类型号数组中获取distict值

发布时间:2021-01-29 01:39:26 所属栏目:站长百科 来源:网络整理
导读:我有一个下面定义的数组类型 – TYPE INPUT_ARRAY_NUM IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; 我已将上述类型的变量定义为 – temp INPUT_ARRAY_NUM; 用以下值填充它们 – temp(0) := 1;temp(1) := 1;temp(2) := 3; 如何获得不同的值(1,3)? 解决方法

我有一个下面定义的数组类型 –

TYPE INPUT_ARRAY_NUM IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;

我已将上述类型的变量定义为 –

temp INPUT_ARRAY_NUM;

用以下值填充它们 –

temp(0) := 1;
temp(1) := 1;
temp(2) := 3;

如何获得不同的值(1,3)?

解决方法

您可以使用NESTED TABLE并使用MULTISET操作.

MULTISET操作中的DISTINCT关键字从集合中删除重复项.

例如,

SQL> SET SERVEROUTPUT ON
SQL> DECLARE
  2    TYPE t_tab IS TABLE OF NUMBER;
  3    l_tab1 t_tab := t_tab(1,1,3,5,5);
  4  BEGIN
  5    l_tab1 := l_tab1 MULTISET INTERSECT DISTINCT l_tab1;
  6    FOR i IN l_tab1.first .. l_tab1.last
  7    LOOP
  8      DBMS_OUTPUT.put_line('Distinct values are '||l_tab1(i));
  9    END LOOP;
 10  END;
 11  /
Distinct values are 1
Distinct values are 3
Distinct values are 5

PL/SQL procedure successfully completed.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读