How do you write a hex literal in PostgreSQL? Like say I want 0xCC, if I do;
SELECT 0xCC;
xcc
-----
0
(1 row)
So PostgreSQL is parsing the xcc as an alias.
How do you write a hex literal in PostgreSQL? Like say I want 0xCC, if I do;
SELECT 0xCC;
xcc
-----
0
(1 row)
So PostgreSQL is parsing the xcc as an alias.
int)You can write the hexidemical byte using Bit-string constants
SELECT x'CC'; -- same as b'11001100'
Which is essentially the same as bit x'CC' returning a Bit String Type but there is a cast available to int so you can do x'CC'::int * 5
If the byte sequences is a valid UTF-8 character, you can also use E'' with a backslash-escape sequence (single backslash \)
SELECT E'\x41';
?column?
----------
A
(1 row)
If the sequence is invalid, you'll get an error
# SELECT E'\xCC';
ERROR: invalid byte sequence for encoding "UTF8": 0xcc
bytea-specific.PostgreSQL has a variable-length binary data type that allows arbitrary bytes. This type is called bytea. You can move into this format using the bytea hex format. In this we either use,
\\bytea from from the hex representation.Here are both syntax,
SELECT bytea E'\\xDEADBEEF', bytea '\xDEADBEEF';
bytea | bytea
------------+------------
\xdeadbeef | \xdeadbeef
(1 row)
If you only need to store large numbers, rather than storing them as bytea I would check out pg_bignum which stores them using the openssl implementation of Big Numbers.