This section describes functions and operators for examining and     manipulating values of 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 9-8.     Some functions are also implemented using the regular syntax for     function invocation.     (See Table 9-9.)    
Table 9-8. SQL Binary String Functions and Operators
| Function | Return Type | Description | Example | Result | 
|---|
| string ||         string |  bytea  |         String concatenation                  | '\\\\Post'::bytea || '\\047gres\\000'::bytea | \\Post'gres\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]         bytes from         string)         | bytea |         Remove the longest string containing only the bytes in         bytes from the start         and end of string         | trim('\\000'::bytea from '\\000Tom\\000'::bytea) | Tom | 
get_byte(string, offset) | integer |         Extract byte from string.                  | get_byte('Th\\000omas'::bytea, 4) | 109 | 
set_byte(string,        offset, newvalue) | bytea |         Set byte in string.                  | set_byte('Th\\000omas'::bytea, 4, 64) | Th\000o@as | 
get_bit(string, offset) | integer |         Extract bit from string.                  | get_bit('Th\\000omas'::bytea, 45) | 1 | 
set_bit(string,        offset, newvalue) | bytea |         Set bit in string.                  | set_bit('Th\\000omas'::bytea, 45, 0) | Th\000omAs | 
    Additional binary string manipulation functions are available and     are listed in Table 9-9.  Some     of them are used internally to implement the     SQL-standard string functions listed in Table 9-8.    
Table 9-9. Other Binary String Functions
| Function | Return Type | Description | Example | Result | 
|---|
btrim(string         bytea, bytes bytea) | bytea |         Remove the longest string consisting only of bytes         in bytes 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 | 
       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 | 
       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 |