Skip to main content
Encode binary data into a SQL expression of type TEXT.

Syntax

ENCODE(<expression>, <format>)

Parameters

ParameterDescriptionSupported input types
<expression>A SQL expression of type BYTEABYTEA
<format>Format to use to encode binary dataHEX, 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');
encode text
123\000456

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');
encode text
MTIzADQ1Ng==

Rows: 1Execution time: 5.74ms