| 
|
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) | int | Number of bytes in binary string | octet_length( 'jo\\000se'::bytea) | 5 | position(substring in string) | int | Location of specified substring | position('\\000om'::bytea in 'Th\\000omas'::bytea) | 3 | substring(string [from int] [for int]) | 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) | int | 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) | int | 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) | int | Length of binary string
| length('jo\\000se'::bytea) | 5 | md5(string) | text | Calculates the MD5 hash of string,
returning the result in hexadecimal
| md5('Th\\000omas'::bytea) | 8ab2d3c9689aaf18 b4958c334c82d8b1 | 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 |
|
|
 |
|
 |