bech32Decode
Добавленный в: v25.6.0 Декодирует строку адреса Bech32, сгенерированную алгоритмами bech32 или bech32m.В отличие от функции кодирования,
bech32Decode автоматически обрабатывает FixedString с заполнением.address— Строка Bech32 для декодирования.StringилиFixedStringmode— Необязательно. Передайте'raw', чтобы декодировать без удаления первого байта, используемого как witness version. Используйте это для адресов, не относящихся к SegWit (например, Cosmos SDK).String
(hrp, data), использованный для кодирования строки. Данные представлены в бинарном формате. Tuple(String, String)
Примеры
Декодирование адреса
Query
Response
Query
Response
bech32Encode
Добавленный в: v25.6.0 Кодирует строку двоичных данных вместе с человекочитаемой частью (HRP) с использованием алгоритмов Bech32 или Bech32m.При использовании типа данных
FixedString, если значение не заполняет строку полностью, оно дополняется нулевыми символами.
Хотя функция bech32Encode автоматически обрабатывает это для аргумента hrp, для аргумента data значения не должны содержать такого дополнения.
По этой причине не рекомендуется использовать тип данных FixedString для значений данных, если только вы не
уверены, что все они имеют одинаковую длину, и не задали для столбца FixedString ту же длину.hrp— Строка из1 - 83строчных символов, задающая “человекочитаемую часть” кода. Обычно это ‘bc’ или ‘tb’.StringилиFixedStringdata— Строка двоичных данных для кодирования.StringилиFixedStringwitver_or_variant— Необязательно. Либо witness version типа UInt* (по умолчанию = 1,0для Bech32,1+ для Bech32m), либо строковый вариант кодирования:'bech32'(BIP173) или'bech32m'(BIP350). При использовании строкового варианта байт witness version не добавляется в начало — это требуется для адресов, не относящихся к SegWit, например Cosmos SDK.UInt*илиString
String
Примеры
Bech32m по умолчанию
Query
Response
Query
Response
Query
Response
Query
Response
bin
Добавленный в: v21.8.0 Возвращает строку, содержащую двоичное представление аргумента согласно следующей логике для разных типов:
Синтаксис
arg— значение для преобразования в двоичный вид.StringилиFixedStringили(U)Int*илиFloat*илиDecimalилиDateилиDateTime
String
Примеры
Простое целое число
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
Добавленный в: v21.7.0 Эта функция возвращает позиции (в порядке возрастания) битов со значением 1 в двоичном представлении беззнакового целого числа. Знаковые целые числа на входе сначала приводятся к беззнаковому целому числу. Синтаксисarg— Целочисленное значение.(U)Int*
Array(UInt64)
Примеры
Установлен только один бит
Query
Response
Query
Response
bitmaskToArray
Добавленный в: v1.1.0 Эта функция раскладывает целое число на сумму степеней двойки. Степени двойки возвращаются в виде массива, упорядоченного по возрастанию. Синтаксисnum— Целое число.(U)Int*
Array(UInt64)
Примеры
Базовый пример
Query
Response
Query
Response
bitmaskToList
Добавленный в: v1.1.0 Как и bitmaskToArray, но возвращает степени двойки в виде строки, где значения разделены запятыми. Синтаксисnum— Целое число.(U)Int*
String
Примеры
Базовый пример
Query
Response
char
Добавленный в: v20.1.0 Возвращает строку, длина которой равна числу переданных аргументов, при этом каждый байт имеет значение соответствующего аргумента. Принимает несколько аргументов числовых типов. Если значение аргумента выходит за пределы диапазона типа данныхUInt8, оно преобразуется
в UInt8 с возможным округлением и переполнением.
Синтаксис
num1[, num2[, num3 ...]]— Числовые аргументы, интерпретируемые как целые числа.(U)Int8/16/32/64илиFloat*
String
Примеры
Базовый пример
Query
Response
Query
Response
hex
Добавленный в: v1.1.0 Возвращает строку, содержащую шестнадцатеричное представление аргумента в соответствии со следующей логикой для разных типов:
Функция использует заглавные буквы
A-F и не использует никаких префиксов (например, 0x) или суффиксов (например, h).
Синтаксис
arg— значение для преобразования в шестнадцатеричное представление.Stringили(U)Int*илиFloat*илиDecimalилиDateилиDateTime
String
Примеры
Простое целое число
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
Добавленный в: v24.6.0 Декодирует индекс кривой Гильберта обратно в кортеж беззнаковых целых чисел, представляющий координаты в многомерном пространстве. Как и функцияhilbertEncode, эта функция поддерживает два режима работы:
- Простой
- Расширенный
UInt64.
Расширенный режим
Принимает маску диапазона (кортеж) в качестве первого аргумента и до 2 беззнаковых целых чисел в качестве
остальных аргументов. Каждое число в маске задает количество битов, на которое
соответствующий аргумент будет сдвинут влево, фактически масштабируя аргумент
в пределах его диапазона.
Расширение диапазона может быть полезно, когда нужно получить схожее распределение для
аргументов с сильно различающимися диапазонами (или мощностью). Например: ‘IP-адрес’ (0...FFFFFFFF)
и ‘код страны’ (0...FF). Как и в случае с функцией кодирования, здесь можно указать не более 8
чисел.
Синтаксис
tuple_size— целочисленное значение не более2.UInt8/16/32/64илиTuple(UInt8/16/32/64)code— кодUInt64.UInt64
Tuple(UInt64)
Примеры
Простой режим
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
Добавленный в: v24.6.0 Вычисляет код кривой Гильберта для списка беззнаковых целых чисел. У функции есть два режима работы:- Простой
- Расширенный
args— До двух значенийUIntили столбцов типаUInt.UInt8/16/32/64range_mask— В расширенном режиме: до двух значенийUIntили столбцов типаUInt.UInt8/16/32/64
UInt64. UInt64
Примеры
Простой режим
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
Добавленный в: v24.6.0 Декодирует кодирование Morton (ZCurve) в соответствующий кортеж беззнаковых целых чисел. Как и функцияmortonEncode, эта функция имеет два режима работы:
- Простой
- Расширенный
1- без сужения2- сужение в 2 раза3- сужение в 3 раза ⋮- До 8-кратного сужения.
(0...FFFFFFFF)
и ‘код страны’ (0...FF). Как и в случае с функцией кодирования, число таких значений ограничено
максимум 8.
Синтаксис
tuple_size— Целочисленное значение не более 8.UInt8/16/32/64range_mask— Для расширенного режима: маска для каждого аргумента. Маска представляет собой кортеж беззнаковых целых чисел. Каждое число в маске задаёт степень сужения диапазона.Tuple(UInt8/16/32/64)code— Код Мортона для декодирования, полученный с помощьюmortonEncode. Область допустимых входных значений образуют только младшиеN * intDiv(64, N)бит, гдеN— размер результирующего кортежа. Результаты для больших значений кода не определены и могут различаться в разных сборках.UInt64
Tuple(UInt64)
Примеры
Простой режим
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
Добавленный в: v24.6.0 Вычисляет кодирование Morton (ZCurve) для списка беззнаковых целых чисел. У функции есть два режима работы:- Простой
- Расширенный*
UInt64.
Расширенный режим
Принимает маску диапазона (Tuple) в качестве первого аргумента и
до 8 беззнаковых целых чисел в качестве остальных аргументов.
Каждое число в маске задаёт величину расширения диапазона:
- 1 - без расширения
- 2 - расширение в 2 раза
- 3 - расширение в 3 раза ⋮
- До 8-кратного расширения.
args— До 8 беззнаковых целых чисел или столбцов указанного выше типа.UInt8/16/32/64range_mask— Для расширенного режима: маска для каждого аргумента. Маска представляет собой кортеж беззнаковых целых чисел от1до8. Каждое число в маске задаёт степень сужения диапазона.Tuple(UInt8/16/32/64)
UInt64. UInt64
Примеры
Простой режим
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
Добавленный в: v24.1.0 Преобразует sqid обратно в массив чисел. Синтаксисsqid—sqid, который нужно декодировать.String
sqid. Array(UInt64)
Примеры
Пример использования
Query
Response
sqidEncode
Добавленный в: v24.1.0 Преобразует числа в sqid — строковый идентификатор в стиле YouTube. Синтаксисsqid
Аргументы
n1[, n2, ...]— Произвольное количество чисел.UInt8/16/32/64
String
Примеры
Пример использования
Query
Response
unbin
Добавленный в: v21.8.0 Интерпретирует каждую пару двоичных цифр (в аргументе) как число и преобразует её в байт, представленный этим числом. Функция выполняет операцию, обратнуюbin.
Для числового аргумента unbin() не возвращает результат, обратный bin(). Если вы хотите преобразовать результат в число, можно использовать функции reverse и reinterpretAs<Type>.
Если
unbin вызывается из clickhouse-client, двоичные строки отображаются в UTF-8.0 и 1. Количество двоичных цифр не обязательно должно быть кратно восьми. Если строковый аргумент содержит что-либо, кроме двоичных цифр,
результат не определён (исключение не генерируется).
Синтаксис
arg— Строка, содержащая произвольное количество двоичных цифр.String
String
Примеры
Базовое использование
Query
Response
Query
Response
unhex
Добавленный в: v1.1.0 Выполняет операцию, обратнуюhex. Интерпретирует каждую пару шестнадцатеричных цифр (в аргументе) как число и преобразует
её в байт, соответствующий этому числу. Возвращаемое значение — двоичная строка (BLOB).
Если вы хотите преобразовать результат в число, можно использовать функции reverse и reinterpretAs<Type>.
clickhouse-client интерпретирует строки как UTF-8.
Из-за этого значения, возвращаемые hex, могут отображаться неожиданным образом.A-F.
Количество шестнадцатеричных цифр не обязательно должно быть чётным.
Если оно нечётное, последняя цифра интерпретируется как младшая половина байта 00-0F.
Если строка аргумента содержит символы, отличные от шестнадцатеричных цифр, возвращается некоторый зависящий от реализации результат (исключение не генерируется).
Для числового аргумента обратное преобразование hex(N) с помощью unhex() не выполняется.
Синтаксис
arg— Строка, содержащая произвольное количество шестнадцатеричных цифр.StringилиFixedString
String
Примеры
Базовое использование
Query
Response
Query
Response