Count only the unique values by combining the CARDINALITY and SET operators : CARDINALITY « PL SQL « Oracle PL / SQL






Count only the unique values by combining the CARDINALITY and SET operators

    

SQL> CREATE OR REPLACE TYPE list IS TABLE OF NUMBER;
  2  /

Type created.

SQL>
SQL> CREATE OR REPLACE FUNCTION format_list(set_in LIST) RETURN VARCHAR2 IS
  2    returnValue VARCHAR2(2000);
  3  BEGIN
  4      FOR i IN set_in.FIRST..set_in.LAST LOOP
  5            returnValue := set_in(i)||' ';
  6      END LOOP;
  7      RETURN returnValue;
  8  END format_list;
  9  /

Function created.

SQL>
SQL> DECLARE
  2    a LIST := list(1,2,3,3,4,4);
  3  BEGIN
  4    dbms_output.put_line(CARDINALITY(SET(a)));
  5  END;
  6  /
4

PL/SQL procedure successfully completed.

SQL>
SQL>

   
    
    
    
  








Related examples in the same category

1.CARDINALITY operator lets count the elements in a collection.
2.CARDINALITY table collection