Функции для работы с 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.