Encode binary data into a SQL expression of type TEXT.
Syntax
ENCODE(<expression>, <format>)
Parameters
| Parameter | Description | Supported input types |
|---|
<expression> | A SQL expression of type BYTEA | BYTEA |
<format> | Format to use to encode binary data | HEX, ESCAPE, BASE64 (case insensitive) |
The HEX format represents each 4 bits of data as one hexadecimal digit, 0 through f, writing the higher-order digit of each byte first. The ENCODE function outputs the a-f hex digits in lower case. Because the smallest unit of data is 8 bits, there are always an even number of characters returned by ENCODE.
The ESCAPE format converts zero bytes and bytes with the high bit set into octal escape sequences (\nnn) and doubles backslashes. Other byte values are represented literally.
THE BASE64 format, per RFC 2045 Section 6.8, breaks encoded lines at 76 characters using a newline for end of line.
Return Type
TEXT
Examples
The following examples encode binary expressions to the ESCAPE, HEX, and BASE64 format:
SELECT ENCODE('123\000456'::BYTEA, 'ESCAPE');
Rows: 1Execution time: 5.55ms
SELECT ENCODE('123\000456'::BYTEA, 'HEX');
| encode text |
|---|
| 31323300343536 |
Rows: 1Execution time: 6.84ms
SELECT ENCODE('123\000456'::BYTEA, 'BASE64');
Rows: 1Execution time: 5.74ms