This section describes functions and operators for examining and
    manipulating binary string values.  Strings in this context include
    values of the type BYTEA.
   
    SQL defines some string functions with a
    special syntax where 
    certain key words rather than commas are used to separate the
    arguments.  Details are in
    Table 6-9.
    Some functions are also implemented using the regular syntax for
    function invocation.
    (See Table 6-10.)
   
Table 6-9. SQL Binary String Functions and Operators
| Function | Return Type | Description | Example | Result | 
|---|
| string ||
        string | bytea | String concatenation | '\\\\Post'::bytea || '\\047greSQL\\000'::bytea | \\Post'greSQL\000 | 
| octet_length(string) | integer | Number of bytes in binary string | octet_length('jo\\000se'::bytea) | 5 | 
| position(substring in string) | integer | Location of specified substring | position('\\000om'::bytea in 'Th\\000omas'::bytea) | 3 | 
| substring(string [from integer] [for integer]) | bytea | Extract substring | substring('Th\\000omas'::bytea from 2 for 3) | h\000o | 
| trim([both]
        characters from
        string) | bytea | Remove the longest string containing only the
        characters from the
        beginning/end/both ends of the string | trim('\\000'::bytea from '\\000Tom\\000'::bytea) | Tom | 
    Additional binary string manipulation functions are available and
    are listed in Table 6-10.  Some
    of them are used internally to implement the
    SQL-standard string functions listed in Table 6-9.
   
Table 6-10. Other Binary String Functions
| Function | Return Type | Description | Example | Result | 
|---|
| btrim(string
        bytea trim bytea) | bytea | Remove (trim) the longest string consisting only of characters
        in trim from the start and end of
        string. | btrim('\\000trim\\000'::bytea,'\\000'::bytea) | trim | 
| length(string) | integer | Length of binary string | length('jo\\000se'::bytea) | 5 | 
| encode(string bytea,
              type text) | text | Encode binary string to ASCII-only representation.  Supported
       types are: base64, hex, escape. | encode('123\\000456'::bytea, 'escape') | 123\000456 | 
| decode(string text,
              type text) | bytea | Decode binary string from string previously 
       encoded with encode().  Parameter type is same as in encode(). | decode('123\\000456', 'escape') | 123\000456 |