7.11. Binary Functions and Operators
Binary Operators
The ||
operator performs concatenation.
Binary Functions
length
(binary) → bigint-
Returns the length of
binary
in bytes.
concat
(binary1, …, binaryN) → varbinary-
Returns the concatenation of
binary1
,binary2
,…
,binaryN
.This function provides the same functionality as theSQL-standard concatenation operator (||
).
substr
(binary, start) → varbinary-
Returns the rest of
binary
from the starting positionstart
,measured in bytes. Positions start with1
. A negative starting positionis interpreted as being relative to the end of the string.
substr
(binary, start, length) → varbinary-
Returns a substring from
binary
of lengthlength
from the startingpositionstart
, measured in bytes. Positions start with1
. Anegative starting position is interpreted as being relative to the end ofthe string.
to_base64
(binary) → varchar-
Encodes
binary
into a base64 string representation.
from_base64
(string) → varbinary-
Decodes binary data from the base64 encoded
string
.
to_base64url
(binary) → varchar-
Encodes
binary
into a base64 string representation using the URL safe alphabet.
from_base64url
(string) → varbinary-
Decodes binary data from the base64 encoded
string
using the URL safe alphabet.
to_hex
(binary) → varchar-
Encodes
binary
into a hex string representation.
from_hex
(string) → varbinary-
Decodes binary data from the hex encoded
string
.
to_big_endian_64
(bigint) → varbinary-
Encodes
bigint
in a 64-bit 2’s complement big endian format.
from_big_endian_64
(binary) → bigint-
Decodes
bigint
value from a 64-bit 2’s complement big endianbinary
.
to_big_endian_32
(integer) → varbinary-
Encodes
integer
in a 32-bit 2’s complement big endian format.
from_big_endian_32
(binary) → integer-
Decodes
integer
value from a 32-bit 2’s complement big endianbinary
.
to_ieee754_32
(real) → varbinary-
Encodes
real
in a 32-bit big-endian binary according to IEEE 754 single-precision floating-point format.
from_ieee754_32
(binary) → real-
Decodes the 32-bit big-endian
binary
in IEEE 754 single-precision floating-point format.
to_ieee754_64
(double) → varbinary-
Encodes
double
in a 64-bit big-endian binary according to IEEE 754 double-precision floating-point format.
from_ieee754_64
(binary) → double-
Decodes the 64-bit big-endian
binary
in IEEE 754 double-precision floating-point format.
lpad
(binary, size, padbinary) → varbinary-
Left pads
binary
tosize
bytes withpadbinary
.Ifsize
is less than the length ofbinary
, the result istruncated tosize
characters.size
must not be negativeandpadbinary
must be non-empty.
rpad
(binary, size, padbinary) → varbinary-
Right pads
binary
tosize
bytes withpadbinary
.Ifsize
is less than the length ofbinary
, the result istruncated tosize
characters.size
must not be negativeandpadbinary
must be non-empty.
crc32
(binary) → bigint-
Computes the CRC-32 of
binary
. For general purpose hashing, usexxhash64()
, as it is much faster and produces a better quality hash.
md5
(binary) → varbinary-
Computes the md5 hash of
binary
.
sha1
(binary) → varbinary-
Computes the sha1 hash of
binary
.
sha256
(binary) → varbinary-
Computes the sha256 hash of
binary
.
sha512
(binary) → varbinary-
Computes the sha512 hash of
binary
.
xxhash64
(binary) → varbinary-
Computes the xxhash64 hash of
binary
.
spooky_hash_v2_32
(binary) → varbinary-
Computes the 32-bit SpookyHashV2 hash of
binary
.
spooky_hash_v2_64
(binary) → varbinary-
Computes the 64-bit SpookyHashV2 hash of
binary
.
hmac_md5
(binary, key) → varbinary-
Computes HMAC with md5 of
binary
with the givenkey
.
hmac_sha1
(binary, key) → varbinary-
Computes HMAC with sha1 of
binary
with the givenkey
.
hmac_sha256
(binary, key) → varbinary-
Computes HMAC with sha256 of
binary
with the givenkey
.
hmac_sha512
(binary, key) → varbinary-
Computes HMAC with sha512 of
binary
with the givenkey
.