Бинарные функции и операторы#

Бинарные операторы#

Оператор || выполняет конкатенацию.

Бинарные функции#

concat(binary1, ..., binaryN) varbinary

Возвращает конкатенацию binary1, binary2, ..., binaryN. Эта функция предоставляет ту же функциональность, что и стандартный SQL оператор конкатенации (||).

length(binary) bigint

Возвращает длину binary в байтах.

lpad(binary, size, padbinary) varbinary

Дополняет binary слева до size байт с помощью padbinary. Если size меньше длины binary, результат усекается до size символов. size не должен быть отрицательным, а padbinary должен быть непустым.

rpad(binary, size, padbinary) varbinary

Дополняет binary справа до size байт с помощью padbinary. Если size меньше длины binary, результат усекается до size символов. size не должен быть отрицательным, а padbinary должен быть непустым.

substr(binary, start) varbinary

Возвращает остаток binary, начиная с позиции start, измеряемой в байтах. Позиции начинаются с 1. Отрицательная начальная позиция интерпретируется относительно конца строки.

substr(binary, start, length) varbinary

Возвращает подстроку из binary длиной length, начиная с позиции start, измеряемой в байтах. Позиции начинаются с 1. Отрицательная начальная позиция интерпретируется относительно конца строки.

reverse(binary) varbinary

Возвращает binary с байтами в обратном порядке.

Функции кодирования Base64#

Функции Base64 реализуют кодирование, заданное в RFC 4648.

from_base64(string) varbinary#

Декодирует бинарные данные из строки string, закодированной base64.

to_base64(binary) varchar#

Кодирует binary в строковое представление base64.

from_base64url(string) varbinary#

Декодирует бинарные данные из строки string, закодированной base64, с использованием URL-safe алфавита.

to_base64url(binary) varchar#

Кодирует binary в строковое представление base64 с использованием URL-safe алфавита.

from_base32(string) varbinary#

Декодирует бинарные данные из строки string, закодированной base32.

to_base32(binary) varchar#

Кодирует binary в строковое представление base32.

Функции кодирования Hex#

from_hex(string) varbinary#

Декодирует бинарные данные из строки string, закодированной hex.

to_hex(binary) varchar#

Кодирует binary в строковое представление hex.

Функции кодирования целых чисел#

from_big_endian_32(binary) integer#

Декодирует 32-битный binary в формате big-endian с дополнением до двух. Вход должен содержать ровно 4 байта.

to_big_endian_32(integer) varbinary#

Кодирует integer в 32-битный формат big-endian с дополнением до двух.

from_big_endian_64(binary) bigint#

Декодирует 64-битный binary в формате big-endian с дополнением до двух. Вход должен содержать ровно 8 байт.

to_big_endian_64(bigint) varbinary#

Кодирует bigint в 64-битный формат big-endian с дополнением до двух.

Функции кодирования чисел с плавающей запятой#

from_ieee754_32(binary) real#

Декодирует 32-битный binary в формате big-endian IEEE 754 single-precision floating-point. Вход должен содержать ровно 4 байта.

to_ieee754_32(real) varbinary#

Кодирует real в 32-битный big-endian binary согласно формату IEEE 754 single-precision floating-point.

from_ieee754_64(binary) double#

Декодирует 64-битный binary в формате big-endian IEEE 754 double-precision floating-point. Вход должен содержать ровно 8 байт.

to_ieee754_64(double) varbinary#

Кодирует double в 64-битный big-endian binary согласно формату IEEE 754 double-precision floating-point.

Хеш-функции#

crc32(binary) bigint#

Вычисляет CRC-32 для binary. Для хеширования общего назначения используйте xxhash64(), так как она значительно быстрее и дает хеш лучшего качества.

md5(binary) varbinary#

Вычисляет хеш MD5 для binary.

sha1(binary) varbinary#

Вычисляет хеш SHA1 для binary.

sha256(binary) varbinary#

Вычисляет хеш SHA256 для binary.

sha512(binary) varbinary#

Вычисляет хеш SHA512 для binary.

spooky_hash_v2_32(binary) varbinary#

Вычисляет 32-битный хеш SpookyHashV2 для binary.

spooky_hash_v2_64(binary) varbinary#

Вычисляет 64-битный хеш SpookyHashV2 для binary.

xxhash64(binary) varbinary#

Вычисляет хеш xxHash64 для binary.

murmur3(binary) varbinary#

Вычисляет 128-битный хеш MurmurHash3 для binary.

SELECT murmur3(from_base64('aaaaaa'));
-- ba 58 55 63 55 69 b4 2f 49 20 37 2c a0 e3 96 ef

Функции HMAC#

hmac_md5(binary, key) varbinary#

Вычисляет HMAC с MD5 для binary с заданным key.

hmac_sha1(binary, key) varbinary#

Вычисляет HMAC с SHA1 для binary с заданным key.

hmac_sha256(binary, key) varbinary#

Вычисляет HMAC с SHA256 для binary с заданным key.

hmac_sha512(binary, key) varbinary#

Вычисляет HMAC с SHA512 для binary с заданным key.