Las funciones hash pueden usarse para el reordenamiento seudoaleatorio determinista de elementos.
Simhash es una función hash que devuelve valores hash próximos para argumentos próximos (similares).
La mayoría de las funciones hash aceptan cualquier número de argumentos de cualquier tipo.
BLAKE3
Introducido en: v22.10.0
Calcula una cadena hash BLAKE3 y devuelve el conjunto de bytes resultante como FixedString. Esta función hash criptográfica está integrada en ClickHouse mediante la biblioteca BLAKE3 de Rust. La función es bastante rápida y ofrece un rendimiento aproximadamente dos veces superior al de SHA-2, mientras genera hashes de la misma longitud que SHA-256. Devuelve un hash BLAKE3 como un array de bytes de tipo FixedString(32).
Sintaxis
BLAKE3(message)Argumentos
message— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash BLAKE3 de 32 bytes de la cadena de entrada como una cadena de longitud fija. FixedString(32)
Ejemplos
hash
SELECT hex(BLAKE3('ABC'))┌─hex(BLAKE3('ABC'))───────────────────────────────────────────────┐
│ D1717274597CF0289694F75D96D444B992A096F1AFD8E7BBFA6EBB1D360FEDFC │
└──────────────────────────────────────────────────────────────────┘MD4
Introducido en: v21.11.0
Calcula el hash MD4 de la cadena especificada.
Sintaxis
MD4(s)Argumentos
s— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash MD4 de la cadena de entrada proporcionada como una cadena de longitud fija. FixedString(16)
Ejemplos
Ejemplo de uso
SELECT HEX(MD4('abc'));┌─HEX(MD4('abc'))──────────────────┐
│ A448017AAF21D8525FC10AE87AA6729D │
└──────────────────────────────────┘MD5
Introducido en: v1.1.0
Calcula el hash MD5 de la cadena dada.
Sintaxis
MD5(s)Argumentos
s— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash MD5 de la cadena de entrada proporcionada como una cadena de longitud fija. FixedString(16)
Ejemplos
Ejemplo de uso
SELECT HEX(MD5('abc'));┌─HEX(MD5('abc'))──────────────────┐
│ 900150983CD24FB0D6963F7D28E17F72 │
└──────────────────────────────────┘RIPEMD160
Introducido en: v24.10.0
Calcula el hash RIPEMD-160 de la cadena dada.
Sintaxis
RIPEMD160(s)Argumentos
s— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash RIPEMD160 de la cadena de entrada proporcionada como una cadena de longitud fija. FixedString(20)
Ejemplos
Ejemplo de uso
SELECT HEX(RIPEMD160('The quick brown fox jumps over the lazy dog'));┌─HEX(RIPEMD160('The quick brown fox jumps over the lazy dog'))─┐
│ 37F332F68DB77BD9D7EDD4969571AD671CF9DD3B │
└───────────────────────────────────────────────────────────────┘SHA1
Introducido en: v1.1.0
Calcula el hash SHA1 de la cadena especificada.
Sintaxis
SHA1(s)Argumentos
s— La cadena de entrada para calcular elhashString
Valor devuelto
Devuelve el hash SHA1 de la cadena de entrada dada como una cadena de longitud fija. FixedString(20)
Ejemplos
Ejemplo de uso
SELECT HEX(SHA1('abc'));┌─HEX(SHA1('abc'))─────────────────────────┐
│ A9993E364706816ABA3E25717850C26C9CD0D89D │
└──────────────────────────────────────────┘SHA224
Introducido en: v1.1.0
Calcula el hash SHA224 de la cadena proporcionada.
Sintaxis
SHA224(s)Argumentos
s— El valor de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash SHA224 de la cadena de entrada especificada como una cadena de longitud fija. FixedString(28)
Ejemplos
Ejemplo de uso
SELECT HEX(SHA224('abc'));┌─HEX(SHA224('abc'))───────────────────────────────────────┐
│ 23097D223405D8228642A477BDA255B32AADBCE4BDA0B3F7E36C9DA7 │
└──────────────────────────────────────────────────────────┘SHA256
Introducido en: v1.1.0
Calcula el hash SHA256 de la cadena proporcionada.
Sintaxis
SHA256(s)Argumentos
s— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash SHA256 de la cadena de entrada dada como una cadena de longitud fija. FixedString(32)
Ejemplos
Ejemplo de uso
SELECT HEX(SHA256('abc'));┌─HEX(SHA256('abc'))───────────────────────────────────────────────┐
│ BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD │
└──────────────────────────────────────────────────────────────────┘SHA384
Introducido en: v1.1.0
Calcula el hash SHA384 de la cadena proporcionada.
Sintaxis
SHA384(s)Argumentos
s— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash SHA384 de la cadena de entrada proporcionada como una cadena de longitud fija. FixedString(48)
Ejemplos
Ejemplo de uso
SELECT HEX(SHA384('abc'));┌─HEX(SHA384('abc'))───────────────────────────────────────────────────────────────────────────────┐
│ CB00753F45A35E8BB5A03D699AC65007272C32AB0EDED1631A8B605A43FF5BED8086072BA1E7CC2358BAECA134C825A7 │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘SHA512
Introducido en: v1.1.0
Calcula el hash SHA512 de la cadena proporcionada.
Sintaxis
SHA512(s)Argumentos
s— La cadena de entrada para calcular elhashString
Valor devuelto
Devuelve el hash SHA512 de la cadena de entrada proporcionada como una cadena de longitud fija. FixedString(64)
Ejemplos
Ejemplo de uso
SELECT HEX(SHA512('abc'));┌─HEX(SHA512('abc'))───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ DDAF35A193617ABACC417349AE20413112E6FA4E89A97EA20A9EEEE64B55D39A2192992A274FC1A836BA3C23A3FEEBBD454D4423643CE80E2A9AC94FA54CA49F │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘SHA512_256
Introducido en: v1.1.0
Calcula el hash SHA512_256 de la cadena especificada.
Sintaxis
SHA512_256(s)Argumentos
s— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash SHA512_256 de la cadena de entrada dada como una cadena de longitud fija. FixedString(32)
Ejemplos
Ejemplo de uso
SELECT HEX(SHA512_256('abc'));┌─HEX(SHA512_256('abc'))───────────────────────────────────────────┐
│ 53048E2681941EF99B2E29B76B4C7DABE4C2D0C634FC6D46E0E2F13107E7AF23 │
└──────────────────────────────────────────────────────────────────┘URLHash
Introducido en: v1.1.0
Una función hash no criptográfica rápida y de calidad razonable para una cadena obtenida de una URL mediante algún tipo de normalización.
Esta función hash tiene dos modos:
| Modo | Descripción |
|---|---|
URLHash(url) |
Calcula un hash a partir de una cadena sin alguno de los símbolos finales /, ? o #, si está presente. |
URLHash(url, N) |
Calcula un hash a partir de una cadena hasta el nivel N en la jerarquía de la URL, sin alguno de los símbolos finales /, ? o #, si está presente. Los niveles son los mismos que en URLHierarchy. |
Sintaxis
URLHash(url[, N])Argumentos
url— Cadena de URL cuyo hash se calcula.StringN— Opcional. Nivel en la jerarquía de la URL.(U)Int*
Valor devuelto
Devuelve el valor hash calculado de url. UInt64
Ejemplos
Ejemplo de uso
SELECT URLHash('https://www.clickhouse.com')┌─URLHash('https://www.clickhouse.com')─┐
│ 13614512636072854701 │
└───────────────────────────────────────┘Hash de la URL con el nivel especificado
SELECT URLHash('https://www.clickhouse.com/docs', 0);
SELECT URLHash('https://www.clickhouse.com/docs', 1);13614512636072854701
13167253331440520598cityHash64
Introducido en: v1.1.0
Produce un valor hash de 64 bits de CityHash.
Se trata de una función hash rápida no criptográfica. Utiliza el algoritmo CityHash para los parámetros de cadena y una función hash rápida no criptográfica específica de la implementación para los parámetros con otros tipos de datos. La función utiliza el combinador CityHash para obtener los resultados finales.
Sintaxis
cityHash64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada sobre los que se calcula el hash.Any
Valor devuelto
Devuelve el hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de llamada
SELECT cityHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS CityHash, toTypeName(CityHash) AS type;┌─────────────CityHash─┬─type───┐
│ 17177535963988450974 │ UInt64 │
└──────────────────────┴────────┘Cálculo de la suma de comprobación de toda la tabla, teniendo en cuenta el orden de las filas
CREATE TABLE users (
id UInt32,
name String,
age UInt8,
city String
)
ENGINE = MergeTree
ORDER BY tuple();
INSERT INTO users VALUES
(1, 'Alice', 25, 'New York'),
(2, 'Bob', 30, 'London'),
(3, 'Charlie', 35, 'Tokyo');
SELECT groupBitXor(cityHash64(*)) FROM users;┌─groupBitXor(cityHash64(id, name, age, city))─┐
│ 11639977218258521182 │
└──────────────────────────────────────────────┘farmFingerprint64
Introducido en: v20.12.0
Produce un valor FarmHash de 64 bits usando el método Fingerprint64.
Sintaxis
farmFingerprint64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se debe calcular el hash.Any
Valor devuelto
Devuelve el valor hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT farmFingerprint64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS FarmFingerprint, toTypeName(FarmFingerprint) AS type;┌──────FarmFingerprint─┬─type───┐
│ 16673609057812504858 │ UInt64 │
└──────────────────────┴────────┘farmHash64
Introducido en: v1.1.0
Genera un FarmHash de 64 bits con el método Hash64.
Sintaxis
farmHash64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se debe calcular el hash.Any
Valor devuelto
Devuelve el valor hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS FarmHash, toTypeName(FarmHash) AS type;┌────────────FarmHash─┬─type───┐
│ 2663412879246289891 │ UInt64 │
└─────────────────────┴────────┘gccMurmurHash
Introducido en: v20.1.0
Calcula el hash de 64 bits MurmurHash2 del valor de entrada usando la misma semilla que utiliza GCC.
Es portable entre las compilaciones de Clang y GCC.
Sintaxis
gccMurmurHash(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos sobre los que calcular el hash.Any
Valor devuelto
Devuelve el valor hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT
gccMurmurHash(1, 2, 3) AS res1,
gccMurmurHash(('a', [1, 2, 3], 4, (4, ['foo', 'bar'], 1, (1, 2)))) AS res2┌─────────────────res1─┬────────────────res2─┐
│ 12384823029245979431 │ 1188926775431157506 │
└──────────────────────┴─────────────────────┘halfMD5
Introducido en: v1.1.0
Interpreta todos los parámetros de entrada como cadenas y calcula el valor hash MD5 para cada uno de ellos. Luego combina los hashes, toma los primeros 8 bytes del hash de la cadena resultante y los interpreta como UInt64 en orden de bytes big-endian. La función es relativamente lenta (5 millones de cadenas cortas por segundo por núcleo de procesador).
Considere usar en su lugar la función sipHash64.
La función acepta un número variable de parámetros de entrada. Los argumentos pueden ser de cualquiera de los tipos de datos compatibles. Para algunos tipos de datos, el valor calculado por la función hash puede ser el mismo para los mismos valores, incluso si los tipos de los argumentos difieren (enteros de distinto tamaño, Tuple con nombre y sin nombre con los mismos datos, Map y el tipo Array(Tuple(key, value)) correspondiente con los mismos datos).
Sintaxis
halfMD5(arg1[, arg2, ..., argN])Argumentos
arg1[, arg2, ..., argN]— Número variable de argumentos para los que se calcula el hash.Any
Valor devuelto
Devuelve la mitad calculada del hash MD5 de los parámetros de entrada proporcionados, como un UInt64 en orden de bytes big-endian. UInt64
Ejemplos
Ejemplo de uso
SELECT HEX(halfMD5('abc', 'cde', 'fgh'));┌─HEX(halfMD5('abc', 'cde', 'fgh'))─┐
│ 2C9506B7374CFAF4 │
└───────────────────────────────────┘hiveHash
Introducido en: v20.1.0
Calcula un "HiveHash" a partir de una cadena.
No es más que JavaHash con los bits de signo puestos a cero.
Esta función se utiliza en Apache Hive en versiones anteriores a la 3.0.
Sintaxis
hiveHash(arg)Argumentos
arg— Cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el "hive hash" calculado de la cadena de entrada. Int32
Ejemplos
Ejemplo de uso
SELECT hiveHash('Hello, world!');┌─hiveHash('Hello, world!')─┐
│ 267439093 │
└───────────────────────────┘icebergHash
Introducido en: v25.5.0
Implementa la lógica de la transformación hash de Iceberg
Sintaxis
icebergHash(value)Argumentos
value— Valor de entrada del que se calculará el hash deIntegeroBooloDecimaloFloat*oStringoFixedStringoUUIDoDateoTimeoDateTime
Valor devuelto
Devuelve un hash Murmur3 de 32 bits, variante x86, con semilla 0 Int32
Ejemplos
Ejemplo
SELECT icebergHash(1.0 :: Float32)-142385009intHash32
Introducido en: v1.1.0
Calcula un hash de 32 bits a partir de un entero.
La función hash es relativamente rápida, pero no es una función hash criptográfica.
Sintaxis
intHash32(arg)Argumentos
arg— Entero al que se aplica la función hash.(U)Int*
Valor devuelto
Devuelve el código hash de 32 bits calculado a partir del entero de entrada UInt32
Ejemplos
Ejemplo de uso
SELECT intHash32(42);┌─intHash32(42)─┐
│ 1228623923 │
└───────────────┘intHash64
Introducido en: v1.1.0
Calcula un hash de 64 bits para un entero.
La función hash es relativamente rápida (incluso más rápida que intHash32), pero no es una función hash criptográfica.
Sintaxis
intHash64(int)Argumentos
int— Entero del que se calcula el hash.(U)Int*
Valor devuelto
Código hash de 64 bits. UInt64
Ejemplos
Ejemplo de uso
SELECT intHash64(42);┌────────intHash64(42)─┐
│ 11490350930367293593 │
└──────────────────────┘javaHash
Introducido en: v20.1.0
Calcula JavaHash a partir de:
Sintaxis
javaHash(arg)Argumentos
arg— Valor de entrada para calcular el hash.Any
Valor devuelto
Devuelve el hash calculado de arg Int32
Ejemplos
Ejemplo de uso 1
SELECT javaHash(toInt32(123));┌─javaHash(toInt32(123))─┐
│ 123 │
└────────────────────────┘Ejemplo de uso 2
SELECT javaHash('Hello, world!');┌─javaHash('Hello, world!')─┐
│ -1880044555 │
└───────────────────────────┘javaHashUTF16LE
Introducido en: v20.1.0
Calcula JavaHash de una cadena, asumiendo que contiene bytes que representan una cadena codificada en UTF-16LE.
Sintaxis
javaHashUTF16LE(arg)Argumentos
arg— Una cadena con codificación UTF-16LE.String
Valor devuelto
Devuelve el hash calculado de la cadena codificada en UTF-16LE. Int32
Ejemplos
Ejemplo de uso
SELECT javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'));┌─javaHashUTF16LE(convertCharset('test', 'utf-8', 'utf-16le'))─┐
│ 3556498 │
└──────────────────────────────────────────────────────────────┘jumpConsistentHash
Introducido en: v1.1.0
Calcula el jump hash consistente de un entero.
Sintaxis
jumpConsistentHash(key, buckets)Argumentos
Valor devuelto
Devuelve el valor hash calculado. Int32
Ejemplos
Ejemplo de uso
SELECT jumpConsistentHash(256, 4)┌─jumpConsistentHash(256, 4)─┐
│ 3 │
└────────────────────────────┘kafkaMurmurHash
Introducido en: v23.4.0
Calcula el hash MurmurHash2 de 32 bits del valor de entrada usando la misma semilla que Kafka y sin el bit más significativo, para ser compatible con Default Partitioner.
Sintaxis
kafkaMurmurHash(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Una cantidad variable de parámetros cuyo hash se calcula.Any
Valor devuelto
Devuelve el valor hash calculado de los argumentos de entrada. UInt32
Ejemplos
Ejemplo de uso
SELECT
kafkaMurmurHash('foobar') AS res1,
kafkaMurmurHash(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS res2┌───────res1─┬─────res2─┐
│ 1357151166 │ 85479775 │
└────────────┴──────────┘keccak256
Introducido en: v25.4.0
Calcula el hash criptográfico Keccak-256 de la cadena proporcionada. Esta función hash se utiliza ampliamente en aplicaciones de blockchain, en particular en Ethereum.
Sintaxis
keccak256(message)Argumentos
message— La cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash Keccak-256 de 32 bytes de la cadena de entrada como una cadena de longitud fija. FixedString(32)
Ejemplos
Ejemplo de uso
SELECT hex(keccak256('hello'))┌─hex(keccak256('hello'))──────────────────────────────────────────┐
│ 1C8AFF950685C2ED4BC3174F3472287B56D9517B9C948127319A09A7A36DEAC8 │
└──────────────────────────────────────────────────────────────────┘kostikConsistentHash
Introducido en: v22.6.0
Un algoritmo de hash consistente con complejidad temporal y espacial O(1), de Konstantin 'Kostik' Oblakov.
Solo es eficiente con n <= 32768.
Sintaxis
kostikConsistentHash(input, n)Aliases: yandexConsistentHash
Argumentos
Valor devuelto
Devuelve el valor hash calculado. UInt16
Ejemplos
Ejemplo de uso
SELECT kostikConsistentHash(16045690984833335023, 2);┌─kostikConsistentHash(16045690984833335023, 2)─┐
│ 1 │
└───────────────────────────────────────────────┘metroHash64
Introducido en: v1.1.0
Genera un valor hash de 64 bits de MetroHash.
Sintaxis
metroHash64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada para calcular el hash.Any
Valor devuelto
Devuelve el hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT metroHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MetroHash, toTypeName(MetroHash) AS type;┌────────────MetroHash─┬─type───┐
│ 16292826582821303855 │ UInt64 │
└──────────────────────┴────────┘murmurHash2_32
Introducido en: v18.5.0
Calcula el hash MurmurHash2 del valor de entrada.
Sintaxis
murmurHash2_32(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Una cantidad variable de argumentos de entrada para los que se calcula el hash.Any
Valor devuelto
Devuelve el valor hash calculado a partir de los argumentos de entrada. UInt32
Ejemplos
Ejemplo de uso
SELECT murmurHash2_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash2, toTypeName(MurmurHash2) AS type;┌─MurmurHash2─┬─type───┐
│ 2947095100 │ UInt32 │
└─────────────┴────────┘murmurHash2_64
Introducido en: v18.10.0
Calcula el hash MurmurHash2 del valor de entrada.
Sintaxis
murmurHash2_64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se calcula el hash.Any
Valor devuelto
Devuelve el hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT murmurHash2_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash2, toTypeName(MurmurHash2) AS type;┌──────────MurmurHash2─┬─type───┐
│ 16479669305841206229 │ UInt64 │
└──────────────────────┴────────┘murmurHash3_128
Introducido en: v18.10.0
Calcula el hash de 128 bits MurmurHash3 del valor de entrada.
Sintaxis
murmurHash3_128(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se calcula el hash.Any
Valor devuelto
Devuelve el valor hash MurmurHash3 de 128 bits calculado a partir de los argumentos de entrada. FixedString(16)
Ejemplos
Ejemplo de uso
SELECT hex(murmurHash3_128('foo', 'foo', 'foo'));┌─hex(murmurHash3_128('foo', 'foo', 'foo'))─┐
│ F8F7AD9B6CD4CF117A71E277E2EC2931 │
└───────────────────────────────────────────┘murmurHash3_32
Introducido en: v18.10.0
Genera un valor hash de MurmurHash3.
Sintaxis
murmurHash3_32(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada a partir de los cuales se calcula el hash.Any
Valor devuelto
Devuelve el valor hash calculado a partir de los argumentos de entrada. UInt32
Ejemplos
Ejemplo de uso
SELECT murmurHash3_32(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash3, toTypeName(MurmurHash3) AS type;┌─MurmurHash3─┬─type───┐
│ 317985299 │ UInt32 │
└─────────────┴────────┘murmurHash3_64
Introducido en: v18.10.0
Calcula el hash MurmurHash3 del valor de entrada.
Sintaxis
murmurHash3_64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Una cantidad variable de argumentos de entrada cuyo hash se calcula.Any
Valor devuelto
Devuelve el valor hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT murmurHash3_64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS MurmurHash3, toTypeName(MurmurHash3) AS type;┌──────────MurmurHash3─┬─type───┐
│ 11285022984631508790 │ UInt64 │
└──────────────────────┴────────┘ngramMinHash
Introducido en: v21.1.0
Divide una cadena ASCII en n-gramas de ngramsize símbolos, calcula valores hash para cada n-grama y devuelve una tupla con esos hashes.
Usa los hashnum hashes mínimos para calcular el hash mínimo y los hashnum hashes máximos para calcular el hash máximo.
Distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son los mismos en ambas, entonces esas cadenas son iguales.
Sintaxis
ngramMinHash(string[, ngramsize, hashnum])Argumentos
string— Cadena sobre la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama, cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos que se usan para calcular el resultado, cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple
Ejemplos
Ejemplo de uso
SELECT ngramMinHash('ClickHouse') AS Tuple;┌─Tuple──────────────────────────────────────┐
│ (18333312859352735453,9054248444481805918) │
└────────────────────────────────────────────┘ngramMinHashArg
Introducido en: v21.1.0
Divide una cadena ASCII en n-gramas de ngramsize símbolos y devuelve los n-gramas con los hashes mínimo y máximo, calculados mediante la función ngramMinHash con la misma entrada.
Distingue entre mayúsculas y minúsculas.
Sintaxis
ngramMinHashArg(string[, ngramsize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama; cualquier número entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos usados para calcular el resultado; cualquier número entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla que contiene dos tuplas con hashnum n-gramas cada una. Tuple(String)
Ejemplos
Ejemplo de uso
SELECT ngramMinHashArg('ClickHouse') AS Tuple;┌─Tuple─────────────────────────────────────────────────────────────────────────┐
│ (('ous','ick','lic','Hou','kHo','use'),('Hou','lic','ick','ous','ckH','Cli')) │
└───────────────────────────────────────────────────────────────────────────────┘ngramMinHashArgCaseInsensitive
Introducido en: v21.1.0
Divide una cadena ASCII en n-gramas de ngramsize símbolos y devuelve los n-gramas con el hash mínimo y máximo, calculados por la función ngramMinHashCaseInsensitive con la misma entrada.
No distingue entre mayúsculas y minúsculas.
Sintaxis
ngramMinHashArgCaseInsensitive(string[, ngramsize, hashnum])Argumentos
string— Cadena sobre la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama, cualquier número entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos utilizados para calcular el resultado, cualquier número entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla formada por dos tuplas con hashnum n-gramas cada una. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT ngramMinHashArgCaseInsensitive('ClickHouse') AS Tuple;┌─Tuple─────────────────────────────────────────────────────────────────────────┐
│ (('ous','ick','lic','kHo','use','Cli'),('kHo','lic','ick','ous','ckH','Hou')) │
└───────────────────────────────────────────────────────────────────────────────┘ngramMinHashArgCaseInsensitiveUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en n-gramas de ngramsize símbolos y devuelve los n-gramas con los valores hash mínimo y máximo, calculados mediante la función ngramMinHashCaseInsensitiveUTF8 con la misma entrada.
No distingue entre mayúsculas y minúsculas.
Sintaxis
ngramMinHashArgCaseInsensitiveUTF8(string[, ngramsize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama; puede ser cualquier número de1a25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos utilizados para calcular el resultado; puede ser cualquier número de1a25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla compuesta por dos tuplas con hashnum n-gramas cada una. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT ngramMinHashArgCaseInsensitiveUTF8('ClickHouse') AS Tuple;┌─Tuple─────────────────────────────────────────────────────────────────────────┐
│ (('ckH','ous','ick','lic','kHo','use'),('kHo','lic','ick','ous','ckH','Hou')) │
└───────────────────────────────────────────────────────────────────────────────┘ngramMinHashArgUTF8
Introducida en: v21.1.0
Divide una cadena UTF-8 en n-gramas de ngramsize símbolos y devuelve los n-gramas con el valor hash mínimo y máximo, calculados por la función ngramMinHashUTF8 con la misma entrada.
Distingue entre mayúsculas y minúsculas.
Sintaxis
ngramMinHashArgUTF8(string[, ngramsize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama; cualquier valor de1a25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos utilizados para calcular el resultado; cualquier valor de1a25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos tuplas, cada una con hashnum n-gramas. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT ngramMinHashArgUTF8('ClickHouse') AS Tuple;┌─Tuple─────────────────────────────────────────────────────────────────────────┐
│ (('ous','ick','lic','Hou','kHo','use'),('kHo','Hou','lic','ick','ous','ckH')) │
└───────────────────────────────────────────────────────────────────────────────┘ngramMinHashCaseInsensitive
Introducido en: v21.1.0
Divide una cadena ASCII en n-gramas de ngramsize símbolos, calcula los valores hash de cada n-grama y devuelve una tupla con esos hashes.
Usa hashnum hashes mínimos para calcular el hash mínimo y hashnum hashes máximos para calcular el hash máximo.
No distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son iguales en ambas, entonces esas cadenas son iguales.
Sintaxis
ngramMinHashCaseInsensitive(string[, ngramsize, hashnum])Argumentos
string— String. String. -ngramsize— El tamaño de un n-grama. Opcional. Valores posibles: cualquier número de1a25. Valor predeterminado:3. UInt8. -hashnum— La cantidad de hashes mínimos y máximos utilizados para calcular el resultado. Opcional. Valores posibles: cualquier número de1a25. Valor predeterminado:6. UInt8.
Valor devuelto
Tupla con dos hashes: el mínimo y el máximo. Tuple(UInt64, UInt64). Tuple
Ejemplos
Ejemplo de uso
SELECT ngramMinHashCaseInsensitive('ClickHouse') AS Tuple;┌─Tuple──────────────────────────────────────┐
│ (2106263556442004574,13203602793651726206) │
└────────────────────────────────────────────┘ngramMinHashCaseInsensitiveUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en n-grams de ngramsize símbolos, calcula valores hash para cada n-gram y devuelve una tupla con estos hash.
Usa hashnum hash mínimos para calcular el hash mínimo y hashnum hash máximos para calcular el hash máximo.
No distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hash devueltos son los mismos para ambas, entonces esas cadenas son iguales.
Sintaxis
ngramMinHashCaseInsensitiveUTF8(string [, ngramsize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama; cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos que se usan para calcular el resultado; cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple
Ejemplos
Ejemplo de uso
SELECT ngramMinHashCaseInsensitiveUTF8('ClickHouse') AS Tuple;┌─Tuple───────────────────────────────────────┐
│ (12493625717655877135,13203602793651726206) │
└─────────────────────────────────────────────┘ngramMinHashUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en n-gramas de ngramsize símbolos, calcula valores hash para cada n-grama y devuelve una tupla con esos hashes.
Usa hashnum hashes mínimos para calcular el hash mínimo y hashnum hashes máximos para calcular el hash máximo.
Distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son los mismos en ambas, entonces esas cadenas son iguales.
Sintaxis
ngramMinHashUTF8(string[, ngramsize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama; cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos utilizada para calcular el resultado; cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple
Ejemplos
Ejemplo de uso
SELECT ngramMinHashUTF8('ClickHouse') AS Tuple;┌─Tuple──────────────────────────────────────┐
│ (18333312859352735453,6742163577938632877) │
└────────────────────────────────────────────┘ngramSimHash
Introducido en: v21.1.0
Divide una cadena ASCII en n-gramas de ngramsize símbolos y devuelve el simhash de los n-gramas.
Puede utilizarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming de los simhashes calculados de dos cadenas, más probable será que esas cadenas sean iguales.
Sintaxis
ngramSimHash(string[, ngramsize])Argumentos
string— Cadena para la que se calcula elsimhashque distingue entre mayúsculas y minúsculas.Stringngramsize— Opcional. El tamaño de un ngrama, cualquier número entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el hash calculado de la cadena de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT ngramSimHash('ClickHouse') AS Hash;┌───────Hash─┐
│ 1627567969 │
└────────────┘ngramSimHashCaseInsensitive
Introducido en: v21.1.0
Divide una cadena ASCII en n-gramas de ngramsize símbolos y devuelve el simhash de n-gramas.
No distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, mayor será la probabilidad de que esas cadenas sean iguales.
Sintaxis
ngramSimHashCaseInsensitive(string[, ngramsize])Argumentos
string— Cadena para la que se calcula elsimhashsin distinción entre mayúsculas y minúsculas.Stringngramsize— Opcional. El tamaño de un n-grama, cualquier valor entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Ejemplos
Ejemplo de uso
SELECT ngramSimHashCaseInsensitive('ClickHouse') AS Hash;┌──────Hash─┐
│ 562180645 │
└───────────┘ngramSimHashCaseInsensitiveUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en n-gramas de ngramsize símbolos y devuelve el simhash del n-grama.
No distingue entre mayúsculas y minúsculas.
Puede utilizarse para detectar cadenas semiduplicadas con bitHammingDistance. Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, mayor será la probabilidad de que esas cadenas sean iguales.
Sintaxis
ngramSimHashCaseInsensitiveUTF8(string[, ngramsize])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama; cualquier valor entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el valor hash calculado. UInt64
Ejemplos
Ejemplo de uso
SELECT ngramSimHashCaseInsensitiveUTF8('ClickHouse') AS Hash;┌───────Hash─┐
│ 1636742693 │
└────────────┘ngramSimHashUTF8
Introducido en: v21.1.0
Divide una cadena codificada en UTF-8 en n-gramas de ngramsize símbolos y devuelve el simhash de cada n-grama.
Distingue entre mayúsculas y minúsculas.
Puede utilizarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, mayor será la probabilidad de que esas cadenas sean iguales.
Sintaxis
ngramSimHashUTF8(string[, ngramsize])Argumentos
string— Cadena para la que se calcula el hash.Stringngramsize— Opcional. El tamaño de un n-grama, cualquier valor entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el valor hash calculado. UInt64
Ejemplos
Ejemplo de uso
SELECT ngramSimHashUTF8('ClickHouse') AS Hash;┌───────Hash─┐
│ 1628157797 │
└────────────┘sipHash128
Introducido en: v1.1.0
Como sipHash64, pero produce un valor hash de 128 bits; es decir, el estado final de xor-folding se calcula hasta 128 bits.
Sintaxis
sipHash128(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada sobre los que calcular el hash.Any
Valor devuelto
Devuelve un valor hash SipHash de 128 bits. FixedString(16)
Ejemplos
Ejemplo de uso
SELECT hex(sipHash128('foo', '\x01', 3)) AS res;┌─res──────────────────────────────┐
│ 9DE516A64A414D4B1B609415E4523F24 │
└──────────────────────────────────┘sipHash128Keyed
Introducido en: v23.2.0
Igual que sipHash128, pero además acepta un argumento de clave explícito en lugar de usar una clave fija.
Sintaxis
sipHash128Keyed((k0, k1), [arg1, arg2, ...])Argumentos
(k0, k1)— Una tupla de dos valores UInt64 que representa la clave.Tuple(UInt64, UInt64)arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se debe calcular el hash.Any
Valor devuelto
Un valor hash SipHash de 128 bits de tipo FixedString(16). FixedString(16)
Ejemplos
Ejemplo de uso
SELECT hex(sipHash128Keyed((506097522914230528, 1084818905618843912), 'foo', '\x01', 3)) AS res;┌─res──────────────────────────────┐
│ B8467F65C8B4CFD9A5F8BD733917D9BF │
└──────────────────────────────────┘sipHash128Reference
Introducido en: v23.2.0
Igual que sipHash128, pero implementa el algoritmo de 128 bits de los autores originales de SipHash.
Sintaxis
sipHash128Reference(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se calculará el hash.Any
Valor devuelto
Devuelve el valor hash SipHash de 128 bits calculado a partir de los argumentos de entrada. FixedString(16)
Ejemplos
Ejemplo de uso
SELECT hex(sipHash128Reference('foo', '\x01', 3)) AS res;┌─res──────────────────────────────┐
│ C3AA2F3C06A14DBE3742E9107AA9765D │
└──────────────────────────────────┘sipHash128ReferenceKeyed
Introducido en: v23.2.0
Igual que sipHash128Reference, pero además recibe un argumento de clave explícito en lugar de usar una clave fija.
Sintaxis
sipHash128ReferenceKeyed((k0, k1), arg1[, arg2, ...])Argumentos
(k0, k1)— Tupla de dos valores que representan la claveTuple(UInt64, UInt64)arg1[, arg2, ...]— Un número variable de argumentos de entrada para los que se calcula el valor hash.Any
Valor devuelto
Devuelve el valor hash SipHash de 128 bits calculado a partir de los argumentos de entrada. FixedString(16)
Ejemplos
Ejemplo de uso
SELECT hex(sipHash128ReferenceKeyed((506097522914230528, 1084818905618843912), 'foo', '\x01', 3)) AS res;┌─res──────────────────────────────┐
│ 1D010CC83FB5460C25B556CE40992E61 │
└──────────────────────────────────┘sipHash64
Introducido en: v1.1.0
Produce un valor hash SipHash de 64 bits.
Esta es una función hash criptográfica. Funciona al menos tres veces más rápido que la función hash MD5.
La función interpreta todos los parámetros de entrada como cadenas y calcula el valor hash de cada uno de ellos. A continuación, combina los hashes mediante el siguiente algoritmo:
- El primer y el segundo valor hash se concatenan en un array, del que se calcula el hash.
- El valor hash calculado previamente y el hash del tercer parámetro de entrada se procesan del mismo modo.
- Este cálculo se repite para todos los valores hash restantes de la entrada original.
Sintaxis
sipHash64(arg1[, arg2, ...])Argumentos
arg1[, arg2, ...]— Un número variable de argumentos de entrada.Any
Valor devuelto
Devuelve un valor hash calculado a partir de los argumentos de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS SipHash, toTypeName(SipHash) AS type;┌──────────────SipHash─┬─type───┐
│ 11348918044846389429 │ UInt64 │
└──────────────────────┴────────┘sipHash64Keyed
Introducido en: v23.2.0
Como sipHash64, pero además recibe un argumento explícito clave en lugar de usar una clave fija.
Sintaxis
sipHash64Keyed((k0, k1), arg1[,arg2, ...])Argumentos
(k0, k1)— Una tupla de dos valores que representa la clave.Tuple(UInt64, UInt64)arg1[,arg2, ...]— Un número variable de argumentos de entrada.Any
Valor devuelto
Devuelve el hash calculado a partir de los valores de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT sipHash64Keyed((506097522914230528, 1084818905618843912), array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')) AS SipHash, toTypeName(SipHash) AS type;┌─────────────SipHash─┬─type───┐
│ 8194087499447867747 │ UInt64 │
└─────────────────────┴────────┘wordShingleMinHash
Introducido en: v21.1.0
Divide una cadena ASCII en partes (shingles) de shinglesize palabras, calcula los valores hash de cada secuencia de palabras y devuelve una tupla con esos hashes.
Usa hashnum hashes mínimos para calcular el hash mínimo y hashnum hashes máximos para calcular el hash máximo.
Distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son iguales en ambas, entonces esas cadenas son iguales.
Sintaxis
wordShingleMinHash(string[, shinglesize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia contigua de palabras; cualquier número entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos utilizados para calcular el resultado; cualquier número entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple(UInt64, UInt64)
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHash('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Tuple;┌─Tuple──────────────────────────────────────┐
│ (16452112859864147620,5844417301642981317) │
└────────────────────────────────────────────┘wordShingleMinHashArg
Introducido en: v1.1.0
Divide una cadena ASCII en partes (shingles) de shinglesize palabras cada una y devuelve los shingles con el hash mínimo y máximo de palabras, calculados por la función wordShingleMinHash con la misma entrada.
Distingue entre mayúsculas y minúsculas.
Sintaxis
wordShingleMinHashArg(string[, shinglesize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras; cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos utilizados para calcular el resultado; cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla compuesta por dos tuplas, cada una con hashnum secuencias de palabras. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashArg('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).', 1, 3) AS Tuple;┌─Tuple─────────────────────────────────────────────────────────────────┐
│ (('OLAP','database','analytical'),('online','oriented','processing')) │
└───────────────────────────────────────────────────────────────────────┘wordShingleMinHashArgCaseInsensitive
Introducido en: v21.1.0
Divide una cadena ASCII en partes (shingles) de shinglesize palabras cada una y devuelve las secuencias de palabras con los hashes mínimo y máximo de las palabras, calculados por la función wordShingleMinHashCaseInsensitive con la misma entrada.
No distingue entre mayúsculas y minúsculas.
Sintaxis
wordShingleMinHashArgCaseInsensitive(string[, shinglesize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras; cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos utilizados para calcular el resultado; cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla compuesta por dos tuplas, cada una con hashnum secuencias de palabras. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashArgCaseInsensitive('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).', 1, 3) AS Tuple;┌─Tuple──────────────────────────────────────────────────────────────────┐
│ (('queries','database','analytical'),('oriented','processing','DBMS')) │
└────────────────────────────────────────────────────────────────────────┘wordShingleMinHashArgCaseInsensitiveUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en partes (shingles) de shinglesize palabras cada una y devuelve los shingles con el hash mínimo y máximo de palabras, calculados mediante la función wordShingleMinHashCaseInsensitiveUTF8 a partir de la misma entrada.
No distingue entre mayúsculas y minúsculas.
Sintaxis
wordShingleMinHashArgCaseInsensitiveUTF8(string[, shinglesize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras contiguas; cualquier número de1a25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos que se usan para calcular el resultado; cualquier número de1a25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos tuplas, cada una con hashnum secuencias de palabras contiguas. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashArgCaseInsensitiveUTF8('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).', 1, 3) AS Tuple;┌─Tuple──────────────────────────────────────────────────────────────────┐
│ (('queries','database','analytical'),('oriented','processing','DBMS')) │
└────────────────────────────────────────────────────────────────────────┘wordShingleMinHashArgUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en partes (shingles) de shinglesize palabras cada una y devuelve los shingles con el hash de palabra mínimo y máximo, calculados por la función wordShingleMinHashUTF8 con la misma entrada.
Distingue entre mayúsculas y minúsculas.
Sintaxis
wordShingleMinHashArgUTF8(string[, shinglesize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de lasecuencia de palabras; cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos utilizados para calcular el resultado; cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla que contiene dos tuplas, cada una con hashnum secuencias de palabras. Tuple(Tuple(String))
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashArgUTF8('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).', 1, 3) AS Tuple;┌─Tuple─────────────────────────────────────────────────────────────────┐
│ (('OLAP','database','analytical'),('online','oriented','processing')) │
└───────────────────────────────────────────────────────────────────────┘wordShingleMinHashCaseInsensitive
Introducido en: v21.1.0
Divide una cadena ASCII en partes (shingles) de shinglesize palabras, calcula los valores hash de cada secuencia de palabras y devuelve una tupla con esos hashes.
Utiliza hashnum hashes mínimos para calcular el hash mínimo y hashnum hashes máximos para calcular el hash máximo.
No distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son los mismos en ambas, entonces esas cadenas son iguales.
Sintaxis
wordShingleMinHashCaseInsensitive(string[, shinglesize, hashnum])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras, cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. El número de hashes mínimos y máximos que se usan para calcular el resultado, cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple(UInt64, UInt64)
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashCaseInsensitive('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Tuple;┌─Tuple─────────────────────────────────────┐
│ (3065874883688416519,1634050779997673240) │
└───────────────────────────────────────────┘wordShingleMinHashCaseInsensitiveUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en partes (shingles) de shinglesize palabras, calcula valores hash para cada secuencia de palabras y devuelve una tupla con esos hashes.
Usa hashnum hashes mínimos para calcular el hash mínimo y hashnum hashes máximos para calcular el hash máximo.
No distingue entre mayúsculas y minúsculas.
Se puede usar para detectar cadenas semiduplicado con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son los mismos en ambas, entonces esas cadenas son iguales.
Sintaxis
wordShingleMinHashCaseInsensitiveUTF8(string[, shinglesize, hashnum])Argumentos
string— Cadena sobre la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras; puede ser cualquier número entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos utilizados para calcular el resultado; puede ser cualquier número entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple(UInt64, UInt64)
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashCaseInsensitiveUTF8('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Tuple;┌─Tuple─────────────────────────────────────┐
│ (3065874883688416519,1634050779997673240) │
└───────────────────────────────────────────┘wordShingleMinHashUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en partes (shingles) de shinglesize palabras, calcula valores hash para cada secuencia de palabras y devuelve una tupla con esos hashes.
Usa hashnum hashes mínimos para calcular el hash mínimo y hashnum hashes máximos para calcular el hash máximo.
Distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con tupleHammingDistance.
Para dos cadenas, si los hashes devueltos son iguales en ambas, esas cadenas son iguales.
Sintaxis
wordShingleMinHashUTF8(string[, shinglesize, hashnum])Argumentos
string— String sobre la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia contigua de palabras; cualquier valor entre1y25. El valor predeterminado es3.UInt8hashnum— Opcional. La cantidad de hashes mínimos y máximos utilizados para calcular el resultado; cualquier valor entre1y25. El valor predeterminado es6.UInt8
Valor devuelto
Devuelve una tupla con dos hashes: el mínimo y el máximo. Tuple(UInt64, UInt64)
Ejemplos
Ejemplo de uso
SELECT wordShingleMinHashUTF8('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Tuple;┌─Tuple──────────────────────────────────────┐
│ (16452112859864147620,5844417301642981317) │
└────────────────────────────────────────────┘wordShingleSimHash
Introducido en: v21.1.0
Divide una cadena ASCII en fragmentos (shingles) de shinglesize palabras y devuelve el simhash de la secuencia de palabras.
Distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, más probable será que esas cadenas sean iguales.
Sintaxis
wordShingleSimHash(string[, shinglesize])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras, cualquier valor entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el valor hash calculado. UInt64
Ejemplos
Ejemplo de uso
SELECT wordShingleSimHash('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Hash;┌───────Hash─┐
│ 2328277067 │
└────────────┘wordShingleSimHashCaseInsensitive
Introducido en: v21.1.0
Divide una cadena ASCII en partes (shingles) de shinglesize palabras y devuelve el simhash de la secuencia de palabras.
No distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, mayor será la probabilidad de que sean iguales.
Sintaxis
wordShingleSimHashCaseInsensitive(string[, shinglesize])Argumentos
string— Cadena para la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras; puede ser cualquier número entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el hash calculado. UInt64
Ejemplos
Ejemplo de uso
SELECT wordShingleSimHashCaseInsensitive('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Hash;┌───────Hash─┐
│ 2194812424 │
└────────────┘wordShingleSimHashCaseInsensitiveUTF8
Introducido en: v1.1.0
Divide una cadena codificada en UTF-8 en partes (shingles) de shinglesize palabras y devuelve el simhash de la secuencia de palabras.
No distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, más probable será que esas cadenas sean iguales.
Sintaxis
wordShingleSimHashCaseInsensitiveUTF8(string[, shinglesize])Argumentos
string— Cadena sobre la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia de palabras; puede ser cualquier valor entre1y25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el valor hash calculado. UInt64
Ejemplos
Ejemplo de uso
SELECT wordShingleSimHashCaseInsensitiveUTF8('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Hash;┌───────Hash─┐
│ 2194812424 │
└────────────┘wordShingleSimHashUTF8
Introducido en: v21.1.0
Divide una cadena UTF-8 en partes (shingles) de shinglesize palabras y devuelve el simhash de la secuencia de palabras.
Distingue entre mayúsculas y minúsculas.
Puede usarse para detectar cadenas semiduplicadas con bitHammingDistance.
Cuanto menor sea la distancia de Hamming entre los simhashes calculados de dos cadenas, mayor será la probabilidad de que esas cadenas sean iguales.
Sintaxis
wordShingleSimHashUTF8(string[, shinglesize])Argumentos
string— Cadena sobre la que se calcula el hash.Stringshinglesize— Opcional. El tamaño de una secuencia contigua de palabras; cualquier valor de1a25. El valor predeterminado es3.UInt8
Valor devuelto
Devuelve el valor hash calculado. UInt64
Ejemplos
Ejemplo de uso
SELECT wordShingleSimHashUTF8('ClickHouse® is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).') AS Hash;┌───────Hash─┐
│ 2328277067 │
└────────────┘wyHash64
Introducido en: v22.7.0
Calcula un valor hash de 64 bits wyHash64.
Sintaxis
wyHash64(arg)Argumentos
arg— Argumento de tipo String para el que se va a calcular el hash.String
Valor devuelto
Devuelve el valor hash calculado de 64 bits UInt64
Ejemplos
Ejemplo de uso
SELECT wyHash64('ClickHouse') AS Hash;12336419557878201794xxHash32
Introducido en: v20.1.0
Calcula un xxHash de una cadena.
Para ver la versión de 64 bits, consulte xxHash64
Sintaxis
xxHash32(arg)Argumentos
arg— Cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash de 32 bits calculado a partir de la cadena de entrada. UInt32
Ejemplos
Ejemplo de uso
SELECT xxHash32('Hello, world!');┌─xxHash32('Hello, world!')─┐
│ 834093149 │
└───────────────────────────┘xxHash64
Introducido en: v20.1.0
Calcula un xxHash de una cadena.
Para la versión de 32 bits, consulte xxHash32
Sintaxis
xxHash64(arg)Argumentos
arg— Cadena de entrada para calcular el hash.String
Valor devuelto
Devuelve el hash de 64 bits calculado a partir de la cadena de entrada. UInt64
Ejemplos
Ejemplo de uso
SELECT xxHash64('Hello, world!');┌─xxHash64('Hello, world!')─┐
│ 17691043854468224118 │
└───────────────────────────┘xxHash64Spark
Introducida en: v26.7.0
Calcula un xxHash a partir de una cadena con la misma seed que Spark.
Esta función es igual que xxHash64, pero usa la seed 42 y devuelve el resultado como Int64.
Solo admite entradas String y NULL.
Para NULL, la función devuelve 42, en consonancia con el comportamiento de la seed en Spark.
Sintaxis
xxHash64Spark(arg)Argumentos
arg— Cadena de entrada para calcular elhash.String
Valor devuelto
Devuelve el hash de 64 bits calculado a partir de la cadena de entrada. Int64
Ejemplos
Ejemplo de uso
SELECT xxHash64Spark('ABC');┌─xxHash64Spark('ABC')─┐
│ 4105715581806190027 │
└──────────────────────┘xxh3
Introducido en: v22.12.0
Calcula un valor de hash de 64 bits XXH3.
Sintaxis
xxh3(expr)Argumentos
expr— Una lista de expresiones de cualquier tipo de dato.Any
Valor devuelto
Devuelve el valor hash xxh3 calculado de 64 bits UInt64
Ejemplos
Ejemplo de uso
SELECT xxh3('ClickHouse')18009318874338624809xxh3_128
Introducido en: v26.2.0
Calcula un valor hash XXH3 de 128 bits.
Sintaxis
xxh3_128(expr)Argumentos
expr— Una lista de expresiones de cualquier tipo de dato.Any
Valor devuelto
Devuelve el valor hash xxh3 calculado de 128 bits UInt128
Ejemplos
Ejemplo de uso
SELECT hex(xxh3_128('ClickHouse'))14C27B7BEF95D36FECF5520CA2DAF030