bech32Decode
A diferencia de la función de codificación,
bech32Decode manejará automáticamente las FixedStrings con relleno.address— Una cadena Bech32 que se va a decodificar.StringoFixedStringmode— Opcional. Pase'raw'para decodificar sin eliminar el primer byte como versión witness. Use esta opción para direcciones que no sean SegWit (p. ej., Cosmos SDK).String
(hrp, data) que se usó para codificar la cadena. Los datos están en formato binario. Tuple(String, String)
Ejemplos
Decodificar una dirección
Query
Response
Query
Response
bech32Encode
Al usar el tipo de dato
FixedString, si un valor no llena por completo la fila, se rellena con caracteres nulos.
Aunque la función bech32Encode gestiona esto automáticamente para el argumento hrp, en el caso del argumento data los valores no deben estar rellenados.
Por este motivo, no se recomienda usar el tipo de dato FixedString para los valores de datos, a menos que tenga la certeza
de que todos tienen la misma longitud y se asegure de que la columna FixedString también esté configurada con esa longitud.hrp— Una cadenaStringde1 - 83caracteres en minúsculas que especifica la “parte legible para humanos” del código. Normalmente, ‘bc’ o ‘tb’.StringoFixedStringdata— Una cadenaStringde datos binarios para codificar.StringoFixedStringwitver_or_variant— Opcional. Puede ser una versión witness de tipo UInt* (predeterminado = 1,0para Bech32,1+ para Bech32m) o una variante de codificación de tipo String:'bech32'(BIP173) o'bech32m'(BIP350). Cuando se usa una variante en forma de cadena, no se antepone ningún byte de versión witness; esto es necesario para direcciones no SegWit, como las de Cosmos SDK.UInt*oString
String
Ejemplos
Bech32m predeterminado
Query
Response
Query
Response
Query
Response
Query
Response
bin
| Tipo | Descripción |
|---|---|
(U)Int* | Imprime los dígitos binarios del más significativo al menos significativo (orden big-endian o “legible para humanos”). Comienza con el byte distinto de cero más significativo (se omiten los bytes cero iniciales), pero siempre imprime ocho dígitos de cada byte si el dígito inicial es cero. |
Date y DateTime | Se formatean como los enteros correspondientes (el número de días desde epoch para Date y el valor de la marca temporal Unix para DateTime). |
String y FixedString | Todos los bytes se codifican simplemente como ocho números binarios. Los bytes cero no se omiten. |
Float* y Decimal | Se codifican según su representación en memoria. Como admitimos arquitectura little-endian, se codifican en little-endian. Los bytes cero iniciales/finales no se omiten. |
UUID | Se codifica como una cadena en orden big-endian. |
arg— Un valor para convertir a binario.StringoFixedStringo(U)Int*oFloat*oDecimaloDateoDateTime
String
Ejemplos
Entero simple
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
arg— Un valor entero.(U)Int*
Array(UInt64)
Ejemplos
Un solo bit activado
Query
Response
Query
Response
bitmaskToArray
num— Un valor entero.(U)Int*
Array(UInt64)
Ejemplos
Ejemplo básico
Query
Response
Query
Response
bitmaskToList
num— Un valor entero.(U)Int*
String
Ejemplos
Ejemplo básico
Query
Response
char
UInt8, se convierte
a UInt8 con posible redondeo y desbordamiento.
Sintaxis
num1[, num2[, num3 ...]]— Argumentos numéricos interpretados como enteros.(U)Int8/16/32/64oFloat*
String
Ejemplos
Ejemplo básico
Query
Response
Query
Response
hex
| Tipo | Descripción |
|---|---|
(U)Int* | Imprime dígitos hexadecimales (“nibbles”) del más significativo al menos significativo (orden big-endian o de “legible para humanos”). Comienza con el byte distinto de cero más significativo (se omiten los bytes cero iniciales), pero siempre imprime ambos dígitos de cada byte, incluso si el dígito inicial es cero. |
Date and DateTime | Se formatea como los enteros correspondientes (el número de días desde la época para Date y el valor de la marca de tiempo Unix para DateTime). |
String and FixedString | Todos los bytes se codifican simplemente como dos dígitos hexadecimales. Los bytes cero no se omiten. |
Float* and Decimal | Se codifican según su representación en memoria. ClickHouse representa internamente los valores siempre en little endian, por lo tanto se codifican de esa manera. Los bytes cero iniciales y finales no se omiten. |
UUID | Se codifica como una cadena en orden big-endian. |
A-F y no utiliza ningún prefijo (como 0x) ni sufijo (como h).
Sintaxis
String
Ejemplos
Entero simple
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
hilbertEncode, esta función tiene dos modos de funcionamiento:
- Simple
- Expandido
UInt64.
Modo expandido
Acepta una máscara de rango (tupla) como primer argumento y hasta 2 enteros sin signo como
argumentos adicionales. Cada número de la máscara configura la cantidad de bits en que
el argumento correspondiente se desplazará a la izquierda, escalando así el argumento
dentro de su rango.
La expansión de rango puede resultar útil cuando se necesita una distribución similar para
argumentos con rangos (o cardinalidad) muy diferentes. Por ejemplo: ‘Dirección IP’ (0...FFFFFFFF)
y ‘Código de país’ (0...FF). Al igual que con la función de codificación, esto se limita a 8
números como máximo.
Sintaxis
tuple_size— Valor entero no superior a2.UInt8/16/32/64oTuple(UInt8/16/32/64)code— CódigoUInt64.UInt64
Tuple(UInt64)
Ejemplos
Modo simple
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
- Simple
- expandido
args— Como máximo, dos valoresUInto columnas de tipoUInt.UInt8/16/32/64range_mask— Para el modo expandido, como máximo, dos valoresUInto columnas de tipoUInt.UInt8/16/32/64
UInt64. UInt64
Ejemplos
Modo simple
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
mortonEncode, esta función tiene dos modos de funcionamiento:
- Simple
- expandido
1- sin reducción2- reducción de 2x3- reducción de 3x ⋮- Hasta 8x de reducción.
(0...FFFFFFFF)
y ‘código de país’ (0...FF). Al igual que con la función de codificación, esto está limitado a
un máximo de 8 números.
Sintaxis
tuple_size— Valor entero no superior a 8.UInt8/16/32/64range_mask— En el modo expandido, la máscara de cada argumento. La máscara es una tupla de enteros sin signo. Cada número de la máscara configura el grado de reducción del rango.Tuple(UInt8/16/32/64)code— CódigoUInt64.UInt64
Tuple(UInt64)
Ejemplos
Modo simple
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
- Simple
- expandido*
UInt64.
Modo expandido
Acepta una máscara de rango (Tuple) como primer argumento y
hasta 8 enteros sin signo como argumentos adicionales.
Cada número de la máscara configura el grado de expansión del rango:
- 1 - sin expansión
- 2 - expansión de 2x
- 3 - expansión de 3x ⋮
- Hasta 8x de expansión.
args— Hasta 8 enteros sin signo o columnas del tipo indicado anteriormente.UInt8/16/32/64range_mask— En el modo expandido, la máscara de cada argumento. La máscara es una tupla de enteros sin signo del1al8. Cada número de la máscara configura el grado de reducción del rango.Tuple(UInt8/16/32/64)
UInt64. UInt64
Ejemplos
Modo simple
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
sqid— El sqid que se debe decodificar.String
sqid. Array(UInt64)
Ejemplos
Ejemplo de uso
Query
Response
sqidEncode
sqid
Argumentos
n1[, n2, ...]— Cualquier cantidad de números.UInt8/16/32/64
String
Ejemplos
Ejemplo de uso
Query
Response
unbin
bin.
Para un argumento numérico, unbin() no devuelve el inverso de bin(). Si quiere convertir el resultado en un número, puede usar las funciones reverse y reinterpretAs<Type>.
Si
unbin se invoca desde clickhouse-client, las cadenas binarias se muestran con UTF-8.0 y 1. La cantidad de dígitos binarios no tiene que ser múltiplo de ocho. Si la cadena del argumento contiene cualquier cosa distinta de dígitos binarios,
el resultado no está definido (no se genera ninguna excepción).
Sintaxis
arg— Una cadena que contiene cualquier número de dígitos binarios.String
String
Ejemplos
Uso básico
Query
Response
Query
Response
unhex
hex. Interpreta cada par de dígitos hexadecimales (en el argumento) como un número y lo convierte
en el byte representado por ese número. El valor devuelto es una cadena binaria (BLOB).
Si desea convertir el resultado en un número, puede usar las funciones reverse y reinterpretAs<Type>.
clickhouse-client interpreta las cadenas como UTF-8.
Esto puede hacer que los valores devueltos por hex se muestren de forma inesperada.A-F.
No es necesario que el número de dígitos hexadecimales sea par.
Si es impar, el último dígito se interpreta como la mitad menos significativa del byte 00-0F.
Si la cadena de argumento contiene cualquier carácter distinto de un dígito hexadecimal, se devuelve un resultado definido por la implementación (no se lanza ninguna excepción).
En el caso de un argumento numérico, unhex() no realiza la operación inversa de hex(N).
Sintaxis
arg— Una cadena que contiene una cantidad cualquiera de dígitos hexadecimales.StringoFixedString
String
Ejemplos
Uso básico
Query
Response
Query
Response