Home Explore Blog CI



postgresql

47th chunk of `doc/src/sgml/func.sgml`
3ef2999de1dbfba913fd37ddd6cf254697f6ef3163ffbf950000000100000fa2
 <parameter>to</parameter>, occurrences of the extra characters in
        <parameter>from</parameter> are deleted.
       </para>
       <para>
        <literal>translate('12345', '143', 'ax')</literal>
        <returnvalue>a2x5</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm>
         <primary>unistr</primary>
        </indexterm>
        <function>unistr</function> ( <type>text</type> )
        <returnvalue>text</returnvalue>
       </para>
       <para>
        Evaluate escaped Unicode characters in the argument.  Unicode characters
        can be specified as
        <literal>\<replaceable>XXXX</replaceable></literal> (4 hexadecimal
        digits), <literal>\+<replaceable>XXXXXX</replaceable></literal> (6
        hexadecimal digits),
        <literal>\u<replaceable>XXXX</replaceable></literal> (4 hexadecimal
        digits), or <literal>\U<replaceable>XXXXXXXX</replaceable></literal>
        (8 hexadecimal digits).  To specify a backslash, write two
        backslashes.  All other characters are taken literally.
       </para>

       <para>
        If the server encoding is not UTF-8, the Unicode code point identified
        by one of these escape sequences is converted to the actual server
        encoding; an error is reported if that's not possible.
       </para>

       <para>
        This function provides a (non-standard) alternative to string
        constants with Unicode escapes (see <xref
        linkend="sql-syntax-strings-uescape"/>).
       </para>

       <para>
        <literal>unistr('d\0061t\+000061')</literal>
        <returnvalue>data</returnvalue>
       </para>
       <para>
        <literal>unistr('d\u0061t\U00000061')</literal>
        <returnvalue>data</returnvalue>
       </para></entry>
      </row>

     </tbody>
    </tgroup>
   </table>

   <para>
    The <function>concat</function>, <function>concat_ws</function> and
    <function>format</function> functions are variadic, so it is possible to
    pass the values to be concatenated or formatted as an array marked with
    the <literal>VARIADIC</literal> keyword (see <xref
    linkend="xfunc-sql-variadic-functions"/>).  The array's elements are
    treated as if they were separate ordinary arguments to the function.
    If the variadic array argument is NULL, <function>concat</function>
    and <function>concat_ws</function> return NULL, but
    <function>format</function> treats a NULL as a zero-element array.
   </para>

   <para>
    See also the aggregate function <function>string_agg</function> in
    <xref linkend="functions-aggregate"/>, and the functions for
    converting between strings and the <type>bytea</type> type in
    <xref linkend="functions-binarystring-conversions"/>.
   </para>

   <sect2 id="functions-string-format">
    <title><function>format</function></title>

    <indexterm>
     <primary>format</primary>
    </indexterm>

    <para>
     The function <function>format</function> produces output formatted according to
     a format string, in a style similar to the C function
     <function>sprintf</function>.
    </para>

    <para>
<synopsis>
<function>format</function>(<parameter>formatstr</parameter> <type>text</type> <optional>, <parameter>formatarg</parameter> <type>"any"</type> <optional>, ...</optional> </optional>)
</synopsis>
     <parameter>formatstr</parameter> is a format string that specifies how the
     result should be formatted.  Text in the format string is copied
     directly to the result, except where <firstterm>format specifiers</firstterm> are
     used.  Format specifiers act as placeholders in the string, defining how
     subsequent function arguments should be formatted and inserted into the
     result.  Each <parameter>formatarg</parameter> argument is converted to text
     according to the usual output rules for its data type, and then formatted
     and inserted into the result string

Title: PostgreSQL String Functions: UNISTR, CONCAT, FORMAT
Summary
This section details the PostgreSQL string function `unistr`, which evaluates escaped Unicode characters in its argument, and describes the handling of variadic arguments in `concat` and `format`. It also introduces the `format` function, similar to C's `sprintf`, which produces formatted output based on a format string and arguments.