Home Explore Blog CI



postgresql

2nd chunk of `doc/src/sgml/intarray.sgml`
9ae4e1d4f08fe81469e937dde61cf6c17fb2bd964152a8df0000000100000fac
    </para>
       <para role="func_signature">
        <indexterm><primary>sort_asc</primary></indexterm>
        <function>sort_asc</function> ( <type>integer[]</type> )
        <returnvalue>integer[]</returnvalue>
       </para>
       <para>
        Sorts in ascending order.
       </para>
       <para>
        <literal>sort(array[11,77,44])</literal>
        <returnvalue>{11,44,77}</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>sort_desc</primary></indexterm>
        <function>sort_desc</function> ( <type>integer[]</type> )
        <returnvalue>integer[]</returnvalue>
       </para>
       <para>
        Sorts in descending order.
       </para>
       <para>
        <literal>sort_desc(array[11,77,44])</literal>
        <returnvalue>{77,44,11}</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>uniq</primary></indexterm>
        <function>uniq</function> ( <type>integer[]</type> )
        <returnvalue>integer[]</returnvalue>
       </para>
       <para>
        Removes adjacent duplicates.
        Often used with <function>sort</function> to remove all duplicates.
       </para>
       <para>
        <literal>uniq('{1,2,2,3,1,1}'::integer[])</literal>
        <returnvalue>{1,2,3,1}</returnvalue>
       </para>
       <para>
        <literal>uniq(sort('{1,2,3,2,1}'::integer[]))</literal>
        <returnvalue>{1,2,3}</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>idx</primary></indexterm>
        <function>idx</function> ( <type>integer[]</type>, <parameter>item</parameter> <type>integer</type> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Returns index of the first array element
        matching <parameter>item</parameter>, or 0 if no match.
       </para>
       <para>
        <literal>idx(array[11,22,33,22,11], 22)</literal>
        <returnvalue>2</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>subarray</primary></indexterm>
        <function>subarray</function> ( <type>integer[]</type>, <parameter>start</parameter> <type>integer</type>, <parameter>len</parameter> <type>integer</type> )
        <returnvalue>integer[]</returnvalue>
       </para>
       <para>
        Extracts the portion of the array starting at
        position <parameter>start</parameter>, with <parameter>len</parameter>
        elements.
       </para>
       <para>
        <literal>subarray('{1,2,3,2,1}'::integer[], 2, 3)</literal>
        <returnvalue>{2,3,2}</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>subarray</function> ( <type>integer[]</type>, <parameter>start</parameter> <type>integer</type> )
        <returnvalue>integer[]</returnvalue>
       </para>
       <para>
        Extracts the portion of the array starting at
        position <parameter>start</parameter>.
       </para>
       <para>
        <literal>subarray('{1,2,3,2,1}'::integer[], 2)</literal>
        <returnvalue>{2,3,2,1}</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>intset</primary></indexterm>
        <function>intset</function> ( <type>integer</type> )
        <returnvalue>integer[]</returnvalue>
       </para>
       <para>
        Makes a single-element array.
       </para>
       <para>
        <literal>intset(42)</literal>
        <returnvalue>{42}</returnvalue>
       </para></entry>
      </row>
    </tbody>
   </tgroup>
  </table>

  <table id="intarray-op-table">
   <title><filename>intarray</filename>

Title: intarray Functions and Operators
Summary
This section details the functions and operators provided by the intarray module for PostgreSQL. Key functions include: uniq (removes adjacent duplicates), idx (finds index of first matching element), subarray (extracts portion of array), and intset (creates single-element array). The functions operate on integer arrays and provide various manipulation capabilities such as sorting, removing duplicates, finding indices, and extracting subarrays. Examples are provided for each function to illustrate their usage and output. The module also includes operators, which are mentioned but not detailed in this chunk.