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