Функции для работы с VARBINARY#

Операторы#

Оператор || выполняет конкатенацию. Если один из аргументов NULL, результат так же будет NULL.

Функции#

concat(binary1, ..., binaryN) varbinary

Конкатенирует аргументы binary1, ..., binaryN. Функция аналогична оператору конкатенации ||.

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. Отрицательное значение start интерпретируется как положение относительно конца строки.

substr(binary, start, length) varbinary

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

reverse(binary) varbinary

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

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

Функции Bas e64 обеспечивают работу с кодировкой Base64, описанной вRFC 4648.

from_base64(string) varbinary#

Декодирует двоичные данные из string в кодировке Base64.

to_base64(binary) varchar#

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

from_base64url(string) varbinary#

Декодирует двоичные данные из string в кодировке Base64, используя допустимые в URL символы.

to_base64url(binary) varchar#

Кодирует binary в строковое представление base64, используя допустимые в URL символы.

from_base32(string) varbinary#

Декодирует двоичные данные из string в кодировке Base32.

to_base32(binary) varchar#

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

Функции шестнадцатеричного кодирования#

from_hex(string) varbinary#

Декодирует двоичные данные из шестнадцатеричной string.

to_hex(binary) varchar#

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

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

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. Входные данные должны состоять из 4 байт.

to_ieee754_32(real) varbinary#

Кодирует real в 32-битный формат с big-endian порядком байт в соответствии с форматом чисел с плавающей запятой одинарной точности IEEE 754.

from_ieee754_64(binary) double#

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

to_ieee754_64(double) varbinary#

Кодирует double в 64-битный формат с big-endian порядком байт в соответствии с форматом чисел с плавающей запятой двойной точности IEEE 754.

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

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.