Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funciones para trabajar con cadenas

Las funciones para buscar en cadenas y para reemplazar en cadenas se describen por separado.

CRC32

Introducido en: v20.1.0

Calcula la suma de comprobación CRC32 de una cadena mediante el polinomio CRC-32-IEEE 802.3 y el valor inicial 0xffffffff (implementación de zlib).

Sintaxis

CRC32(s)

Argumentos

  • s — Cadena para la que se calcula CRC32. String

Valor devuelto

Devuelve la suma de comprobación CRC32 de la cadena. UInt32

Ejemplos

Ejemplo de uso

SELECT CRC32('ClickHouse')
┌─CRC32('ClickHouse')─┐
│          1538217360 │
└─────────────────────┘

CRC32IEEE

Introducida en: v20.1.0

Calcula la suma de comprobación CRC32 de una cadena utilizando el polinomio CRC-32-IEEE 802.3.

Sintaxis

CRC32IEEE(s)

Argumentos

  • s — Cadena para la que se calcula CRC32. String

Valor devuelto

Devuelve la suma de comprobación CRC32 de la cadena. UInt32

Ejemplos

Ejemplo de uso

SELECT CRC32IEEE('ClickHouse');
┌─CRC32IEEE('ClickHouse')─┐
│              3089448422 │
└─────────────────────────┘

CRC64

Introducido en: v20.1.0

Calcula la suma de comprobación CRC64 de una cadena utilizando el polinomio CRC-64-ECMA.

Sintaxis

CRC64(s)

Argumentos

  • s — Cadena para la que se calcula CRC64. String

Valor devuelto

Devuelve la suma de comprobación CRC64 de la cadena. UInt64

Ejemplos

Ejemplo de uso

SELECT CRC64('ClickHouse');
┌──CRC64('ClickHouse')─┐
│ 12126588151325169346 │
└──────────────────────┘

appendTrailingCharIfAbsent

Introducido en: v1.1.0

Añade el carácter c a la cadena s si s no está vacía y no termina con el carácter c.

Sintaxis

appendTrailingCharIfAbsent(s, c)

Argumentos

  • s — Cadena de entrada. String
  • c — Carácter que se añade si no está presente. String

Valor devuelto

Devuelve la cadena s con el carácter c añadido si s no termina en c. String

Ejemplos

Ejemplo de uso

SELECT appendTrailingCharIfAbsent('https://example.com', '/');
┌─appendTrailingCharIfAbsent('https://example.com', '/')─┐
│ https://example.com/                                   │
└────────────────────────────────────────────────────────┘

ascii

Introducido en: v22.11.0

Devuelve el punto de código ASCII del primer carácter de la cadena s como un valor Int32.

Sintaxis

ascii(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve el código ASCII del primer carácter. Si s está vacío, el resultado es 0. Si el primer carácter no es un carácter ASCII o no pertenece al rango de suplemento Latin-1 de UTF-16, el resultado no está definido. Int32

Ejemplos

Ejemplo de uso

SELECT ascii('234')
┌─ascii('234')─┐
│           50 │
└──────────────┘

base32Decode

Introducido en: v25.6.0

Decodifica una cadena en Base32 (RFC 4648). Si la cadena no es una codificación Base32 válida, se lanza una excepción.

Sintaxis

base32Decode(encoded)

Argumentos

  • encoded — columna de tipo String o constante. String

Valor devuelto

Devuelve una cadena que contiene el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT base32Decode('IVXGG33EMVSA====');
┌─base32Decode('IVXGG33EMVSA====')─┐
│ Encoded                          │
└──────────────────────────────────┘

base32Encode

Introducido en: v25.6.0

Codifica una cadena en Base32.

Sintaxis

base32Encode(plaintext)

Argumentos

  • plaintext — texto plano que se va a codificar. String

Valor devuelto

Devuelve una cadena que contiene el valor codificado del argumento. String o FixedString

Ejemplos

Ejemplo de uso

SELECT base32Encode('Encoded')
┌─base32Encode('Encoded')─┐
│ IVXGG33EMVSA====        │
└─────────────────────────┘

base58Decode

Introducido en: v22.7.0

Decodifica una cadena Base58. Si la cadena no es una codificación Base58 válida, se lanza una excepción. Se puede proporcionar un segundo argumento opcional, expected_size, para seleccionar un decodificador optimizado de tamaño fijo. Actualmente, los valores admitidos son 32 y 64. Para otros valores, se utiliza el decodificador genérico. Cuando se selecciona el decodificador optimizado pero la entrada no puede decodificarse en exactamente esa cantidad de bytes, la función lanza una excepción (o devuelve una cadena vacía en tryBase58Decode).

Sintaxis

base58Decode(encoded[, expected_size])

Argumentos

  • encoded — Columna String o constante para decodificar. String
  • expected_size — Opcional. Tamaño esperado del valor decodificado en bytes. Cuando es 32 o 64, se usa un decodificador optimizado; para otros valores, se usa el decodificador genérico. UInt8, UInt16, UInt32, or UInt64

Valor devuelto

Devuelve una cadena con el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT base58Decode('JxF12TrwUP45BMd');
┌─base58Decode('JxF12TrwUP45BMd')─┐
│ Hello World                     │
└─────────────────────────────────┘

base58Encode

Introducido en: v22.7.0

Codifica una cadena en Base58.

Sintaxis

base58Encode(plaintext)

Argumentos

  • plaintext — texto plano que se va a codificar. String

Valor devuelto

Devuelve una cadena que contiene el valor codificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT base58Encode('ClickHouse');
┌─base58Encode('ClickHouse')─┐
│ 4nhk8K7GHXf6zx             │
└────────────────────────────┘

base64Decode

Introducido en: v18.16.0

Decodifica una cadena a partir de su representación en Base64, de acuerdo con RFC 4648. Desde la versión 26.7, se ignoran en la entrada los caracteres de espacio en blanco: espacio, tabulación (\t), salto de línea (\n), retorno de carro (\r) y avance de página (\f) (las versiones anteriores rechazaban las entradas que los contenían). La tabulación vertical (\v) y cualquier otro carácter fuera del alfabeto Base64 se rechazan. Lanza una excepción en caso de error.

Sintaxis

base64Decode(encoded)

Alias: FROM_BASE64

Argumentos

  • encoded — Columna String o constante que se debe decodificar. Si la cadena no está codificada en Base64 de forma válida, se genera una excepción. String

Valor devuelto

Devuelve la cadena decodificada. String

Ejemplos

Ejemplo de uso

SELECT base64Decode('Y2xpY2tob3VzZQ==')
┌─base64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                       │
└──────────────────────────────────┘

base64Encode

Introducido en: v18.16.0

Codifica una cadena en formato Base64, según la RFC 4648.

Sintaxis

base64Encode(plaintext)

Alias: TO_BASE64

Argumentos

  • plaintext — Columna o constante de texto plano que se va a decodificar. String

Valor devuelto

Devuelve una cadena que contiene el valor codificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT base64Encode('clickhouse')
┌─base64Encode('clickhouse')─┐
│ Y2xpY2tob3VzZQ==           │
└────────────────────────────┘

base64URLDecode

Introducido en: v24.6.0

Decodifica una cadena desde su representación en Base64 usando un alfabeto seguro para URL, de acuerdo con la RFC 4648. El alfabeto estándar (+ y /) también se acepta al decodificar. Desde la versión 26.7, se ignoran en la entrada los caracteres de espacio en blanco: espacio, tabulación (\t), salto de línea (\n), retorno de carro (\r) y salto de página (\f) (las versiones anteriores rechazaban las entradas que los contenían). La tabulación vertical (\v) y cualquier otro carácter que no pertenezca al alfabeto Base64 se rechazan. Lanza una excepción en caso de error.

Sintaxis

base64URLDecode(encoded)

Argumentos

  • encoded — Columna String o constante para codificar. Si la cadena no está codificada en Base64 de forma válida, se lanza una excepción. String

Valor devuelto

Devuelve una cadena que contiene el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
┌─base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                            │
└───────────────────────────────────────────────────┘

base64URLEncode

Introducido en: v18.16.0

Codifica una cadena utilizando la representación Base64 (RFC 4648) con un alfabeto apto para URL.

Sintaxis

base64URLEncode(plaintext)

Argumentos

  • plaintext — Columna o constante de texto plano para codificar. String

Valor devuelto

Devuelve una cadena con el valor codificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT base64URLEncode('https://clickhouse.com')
┌─base64URLEncode('https://clickhouse.com')─┐
│ aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ            │
└───────────────────────────────────────────┘

basename

Introducido en: v20.1.0

Extrae la parte final de una cadena tras la última barra o barra invertida. Esta función se utiliza a menudo para extraer el nombre del archivo de una ruta.

Sintaxis

basename(expr)

Argumentos

  • expr — Una expresión de tipo cadena. Las barras invertidas deben escaparse. String

Valor devuelto

Devuelve la parte final de la cadena de entrada después de la última barra o barra invertida. Si la cadena de entrada termina con una barra o una barra invertida, la función devuelve una cadena vacía. Devuelve la cadena original si no contiene barras ni barras invertidas. String

Ejemplos

Extraer el nombre de archivo de una ruta de Unix

SELECT 'some/long/path/to/file' AS a, basename(a)
┌─a──────────────────────┬─basename(a)─┐
│ some/long/path/to/file │ file        │
└────────────────────────┴─────────────┘

Extraer el nombre de archivo de una ruta de Windows

SELECT 'some\\long\\path\\to\\file' AS a, basename(a)
┌─a──────────────────────┬─basename(a)─┐
│ some\long\path\to\file │ file        │
└────────────────────────┴─────────────┘

Cadena sin separadores de ruta

SELECT 'some-file-name' AS a, basename(a)
┌─a──────────────┬─basename(a)────┐
│ some-file-name │ some-file-name │
└────────────────┴────────────────┘

byteHammingDistance

Introducido en: v23.9.0

Calcula la distancia de Hamming entre dos cadenas de bytes.

Sintaxis

byteHammingDistance(s1, s2)

Alias: mismatches

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve la distancia de Hamming entre ambas cadenas. UInt64

Ejemplos

Ejemplo de uso

SELECT byteHammingDistance('karolin', 'kathrin')
┌─byteHammingDistance('karolin', 'kathrin')─┐
│                                         3 │
└───────────────────────────────────────────┘

caseFoldUTF8

Introducido en: v26.3.0

Aplica el case folding de Unicode a una cadena UTF-8, convirtiéndola en una forma normalizada similar a minúsculas adecuada para comparaciones sin distinción entre mayúsculas y minúsculas.

Aplica el case folding estándar de Unicode. Conserva los caracteres de compatibilidad que no se ven afectados por el case folding (p. ej., números romanos, números con círculo), pero tenga en cuenta que algunas ligaduras, como , siguen descomponiéndose porque el propio case folding de Unicode las expande.

Sintaxis

caseFoldUTF8(str)

Argumentos

  • str — Cadena de entrada codificada en UTF-8. String

Valor devuelto

Cadena UTF-8 con normalización de mayúsculas y minúsculas. String

Ejemplos

Normalización básica de mayúsculas y minúsculas

SELECT caseFoldUTF8('Straße')
┌─caseFoldUTF8('Straße')─┐
│ strasse                │
└────────────────────────┘

compareSubstrings

Introducido en: v25.2.0

Compara dos cadenas en orden lexicográfico.

Sintaxis

compareSubstrings(s1, s2, s1_offset, s2_offset, num_bytes)

Argumentos

  • s1 — La primera cadena que se comparará. String
  • s2 — La segunda cadena que se comparará. String
  • s1_offset — La posición (indexada desde cero) en s1 a partir de la cual comienza la comparación. UInt*
  • s2_offset — La posición (índice basado en cero) en s2 a partir de la cual comienza la comparación. UInt*
  • num_bytes — El número máximo de bytes que se comparará en ambas cadenas. Si s1_offset (o s2_offset) + num_bytes supera el final de una cadena de entrada, num_bytes se reducirá en consecuencia. UInt*

Valor devuelto

Devuelve:

  • -1 si s1[s1_offset : s1_offset + num_bytes] < s2[s2_offset : s2_offset + num_bytes].
  • 0 si s1[s1_offset : s1_offset + num_bytes] = s2[s2_offset : s2_offset + num_bytes].
  • 1 si s1[s1_offset : s1_offset + num_bytes] > s2[s2_offset : s2_offset + num_bytes]. Int8

Ejemplos

Ejemplo de uso

SELECT compareSubstrings('Saxony', 'Anglo-Saxon', 0, 6, 5) AS result
┌─result─┐
│      0 │
└────────┘

concat

Introducido en: v1.1.0

Concatena los argumentos especificados.

Los argumentos que no son de tipo String o FixedString se convierten en cadenas mediante su serialización predeterminada. Como esto reduce el rendimiento, no se recomienda usar argumentos distintos de String/FixedString.

Sintaxis

concat([s1, s2, ...])

Argumentos

  • s1, s2, ... — Cualquier cantidad de valores de cualquier tipo. Any

Valor devuelto

Devuelve la cadena creada al concatenar los argumentos. Si alguno de los argumentos es NULL, la función devuelve NULL. Si no hay argumentos, devuelve una cadena vacía. Nullable(String)

Ejemplos

Concatenación de cadenas

SELECT concat('Hello, ', 'World!')
┌─concat('Hello, ', 'World!')─┐
│ Hello, World!               │
└─────────────────────────────┘

Concatenación de números

SELECT concat(42, 144)
┌─concat(42, 144)─┐
│ 42144           │
└─────────────────┘

concatAssumeInjective

Introducido en: v1.1.0

Como concat, pero asume que concat(s1, s2, ...) → sn es inyectiva, es decir, que devuelve resultados distintos para argumentos distintos.

Puede utilizarse para optimizar GROUP BY.

Sintaxis

concatAssumeInjective([s1, s2, ...])

Argumentos

  • s1, s2, ... — Cualquier cantidad de valores de tipo arbitrario. String o FixedString

Valor devuelto

Devuelve la cadena resultante de concatenar los argumentos. Si alguno de los valores de los argumentos es NULL, la función devuelve NULL. Si no se pasa ningún argumento, devuelve una cadena vacía. String

Ejemplos

Optimización de GROUP BY

CREATE TABLE key_val (key1 String, key2 String, value UInt32) ENGINE = Memory;
INSERT INTO key_val VALUES ('Hello, ', 'World!', 1), ('Hello, ', 'World!', 2), ('Hello, ', 'World', 3);

SELECT concatAssumeInjective(key1, key2) AS key, sum(value) FROM key_val GROUP BY key ORDER BY key;
┌─key───────────┬─sum(value)─┐
│ Hello, World  │          3 │
│ Hello, World! │          3 │
└───────────────┴────────────┘

concatWithSeparator

Introducido en: v22.12.0

Concatena las cadenas proporcionadas, separadas por el separador especificado.

Sintaxis

concatWithSeparator(sep[, exp1, exp2, ...])

Alias: concat_ws

Argumentos

  • sep — El separador que se usará. const String o const FixedString
  • exp1, exp2, ... — Expresiones que se concatenarán. Los argumentos que no sean de tipo String o FixedString se convierten en cadenas mediante su serialización predeterminada. Como esto reduce el rendimiento, no se recomienda usar argumentos distintos de String/FixedString. Any

Valor devuelto

Devuelve la cadena creada al concatenar los argumentos. Si alguno de los valores de los argumentos es NULL, la función devuelve NULL. String

Ejemplos

Ejemplo de uso

SELECT concatWithSeparator('a', '1', '2', '3', '4')
┌─concatWithSeparator('a', '1', '2', '3', '4')─┐
│ 1a2a3a4                                      │
└──────────────────────────────────────────────┘

concatWithSeparatorAssumeInjective

Introducido en: v22.12.0

Como concatWithSeparator, pero asume que concatWithSeparator(sep[,exp1, exp2, ... ]) → result es inyectiva. Se considera inyectiva una función si devuelve resultados distintos para argumentos distintos.

Puede usarse para optimizar GROUP BY.

Sintaxis

concatWithSeparatorAssumeInjective(sep[, exp1, exp2, ... ])

Argumentos

  • sep — El separador que se va a utilizar. const String o const FixedString
  • exp1, exp2, ... — Expresión que se va a concatenar. Los argumentos que no sean de tipo String o FixedString se convierten en cadenas mediante su serialización predeterminada. Como esto reduce el rendimiento, no se recomienda usar argumentos que no sean String/FixedString. String o FixedString

Valor devuelto

Devuelve la cadena creada al concatenar los argumentos. Si alguno de los valores de los argumentos es NULL, la función devuelve NULL. String

Ejemplos

Ejemplo de uso

CREATE TABLE user_data (
user_id UInt32,
first_name String,
last_name String,
score UInt32
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO user_data VALUES
(1, 'John', 'Doe', 100),
(2, 'Jane', 'Smith', 150),
(3, 'John', 'Wilson', 120),
(4, 'Jane', 'Smith', 90);

SELECT
    concatWithSeparatorAssumeInjective('-', first_name, last_name) as full_name,
    sum(score) as total_score
FROM user_data
GROUP BY concatWithSeparatorAssumeInjective('-', first_name, last_name);
┌─full_name───┬─total_score─┐
│ Jane-Smith  │         240 │
│ John-Doe    │         100 │
│ John-Wilson │         120 │
└─────────────┴─────────────┘

conv

Introducido en: v25.10.0

Convierte números entre distintas bases numéricas.

La función convierte un número de una base a otra. Admite bases de 2 a 36. Para bases superiores a 10, se usan las letras A-Z (sin distinguir entre mayúsculas y minúsculas) para representar los dígitos del 10 al 35.

Esta función es compatible con la función CONV() de MySQL.

Sintaxis

conv(number, from_base, to_base)

Argumentos

  • number — El número que se va a convertir. Puede ser una cadena o un tipo numérico. - from_base — La base de origen (2-36). Debe ser un entero. - to_base — La base de destino (2-36). Debe ser un entero.

Valor devuelto

Representación textual del número en la base de destino.

Ejemplos

Convertir de decimal a binario

SELECT conv('10', 10, 2)
1010

Convertir de hexadecimal a decimal

SELECT conv('FF', 16, 10)
255

Conversión con número negativo

SELECT conv('-1', 10, 16)
FFFFFFFFFFFFFFFF

Convertir de binario a octal

SELECT conv('1010', 2, 8)
12

convertCharset

Introducido en: v1.1.0

Devuelve la cadena s convertida desde la codificación from a la codificación to.

Sintaxis

convertCharset(s, from, to)

Argumentos

  • s — Cadena de entrada. String
  • from — Codificación de caracteres de origen. String
  • to — Codificación de caracteres de destino. String

Valor devuelto

Devuelve la cadena s convertida de la codificación from a to. String

Ejemplos

Ejemplo de uso

SELECT convertCharset('Café', 'UTF-8', 'ISO-8859-1');
┌─convertCharset('Café', 'UTF-8', 'ISO-8859-1')─┐
│ Caf�                                           │
└───────────────────────────────────────────────┘

damerauLevenshteinDistance

Introducido en: v24.1.0

Calcula la distancia de Damerau-Levenshtein entre dos cadenas de bytes.

Sintaxis

damerauLevenshteinDistance(s1, s2)

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve la distancia de Damerau-Levenshtein entre las dos cadenas. UInt64

Ejemplos

Ejemplo de uso

SELECT damerauLevenshteinDistance('clickhouse', 'mouse')
┌─damerauLevenshteinDistance('clickhouse', 'mouse')─┐
│                                                 6 │
└───────────────────────────────────────────────────┘

decodeHTMLComponent

Introducido en: v23.9.0

Decodifica las entidades HTML de una cadena y las convierte en sus caracteres correspondientes.

Sintaxis

decodeHTMLComponent(s)

Argumentos

  • s — Cadena que contiene entidades HTML que se deben decodificar. String

Valor devuelto

Devuelve la cadena con las entidades HTML decodificadas. String

Ejemplos

Ejemplo de uso

SELECT decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')
┌─decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')─┐
│ <div>Hello & "World"</div>                                                  │
└─────────────────────────────────────────────────────────────────────────────┘

decodeXMLComponent

Introducido en: v21.2.0

Decodifica las entidades XML de una cadena en sus caracteres correspondientes.

Sintaxis

decodeXMLComponent(s)

Argumentos

  • s — Cadena que contiene entidades XML que se deben decodificar. String

Valor devuelto

Devuelve la cadena proporcionada con las entidades XML decodificadas. String

Ejemplos

Ejemplo de uso

SELECT decodeXMLComponent('&lt;tag&gt;Hello &amp; World&lt;/tag&gt;')
┌─decodeXMLComponent('&lt;tag&gt;Hello &amp; World&lt;/tag&gt;')─┐
│ <tag>Hello & World</tag>                                       │
└────────────────────────────────────────────────────────────────┘

editDistance

Introducido en: v23.9.0

Calcula la distancia de edición entre dos cadena de bytes.

Sintaxis

editDistance(s1, s2)

Alias: levenshteinDistance

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve la distancia de edición entre ambas cadenas. UInt64

Ejemplos

Ejemplo de uso

SELECT editDistance('clickhouse', 'mouse')
┌─editDistance('clickhouse', 'mouse')─┐
│                                   6 │
└─────────────────────────────────────┘

editDistanceUTF8

Introducido en: v24.6.0

Calcula la distancia de edición entre dos cadenas en UTF-8.

Sintaxis

editDistanceUTF8(s1, s2)

Alias: levenshteinDistanceUTF8

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve la distancia de edición entre las dos cadenas UTF-8. UInt64

Ejemplos

Ejemplo de uso

SELECT editDistanceUTF8('我是谁', '我是我') AS distance
┌─distance─┐
│        1 │
└──────────┘

encodeXMLComponent

Introducido en: v21.1.0

Escapa caracteres para insertar una cadena en un nodo de texto XML o en un atributo.

Sintaxis

encodeXMLComponent(s)

Argumentos

  • s — Cadena que se debe escapar. String

Valor devuelto

Devuelve la cadena escapada. String

Ejemplos

Ejemplo de uso

SELECT
    '<tag>Hello & "World"</tag>' AS original,
    encodeXMLComponent('<tag>Hello & "World"</tag>') AS xml_encoded;
┌─original───────────────────┬─xml_encoded──────────────────────────────────────────┐
│ <tag>Hello & "World"</tag> │ &lt;tag&gt;Hello &amp; &quot;World&quot;&lt;/tag&gt; │
└────────────────────────────┴──────────────────────────────────────────────────────┘

endsWith

Introducido en: v1.1.0

Comprueba si una cadena termina con el sufijo indicado.

Sintaxis

endsWith(s, suffix)

Argumentos

  • s — Cadena a comprobar. String
  • suffix — Sufijo a comprobar. String

Valor devuelto

Devuelve 1 si s termina con suffix; en caso contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT endsWith('ClickHouse', 'House');
┌─endsWith('ClickHouse', 'House')─┐
│                               1 │
└─────────────────────────────────┘

endsWithCaseInsensitive

Introducido en: v25.10.0

Verifica si una cadena termina con el sufijo especificado sin distinguir entre mayúsculas y minúsculas.

Sintaxis

endsWithCaseInsensitive(s, suffix)

Argumentos

  • s — Cadena que se va a comprobar. String
  • suffix — Sufijo sin distinguir entre mayúsculas y minúsculas que se va a comprobar. String

Valor devuelto

Devuelve 1 si s termina con el suffix sin distinguir entre mayúsculas y minúsculas; de lo contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT endsWithCaseInsensitive('ClickHouse', 'HOUSE');
┌─endsWithCaseInsensitive('ClickHouse', 'HOUSE')─┐
│                                              1 │
└────────────────────────────────────────────────┘

endsWithCaseInsensitiveUTF8

Introducido en: v25.10.0

Devuelve si la cadena s termina con el suffix sin distinguir entre mayúsculas y minúsculas. Asume que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta condición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

endsWithCaseInsensitiveUTF8(s, suffix)

Argumentos

  • s — String que se debe comprobar. String
  • suffix — Sufijo que se debe comprobar sin distinguir entre mayúsculas y minúsculas. String

Valor devuelto

Devuelve 1 si s termina con el suffix sin distinguir entre mayúsculas y minúsculas; de lo contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT endsWithCaseInsensitiveUTF8('данных', 'ых');
┌─endsWithCaseInsensitiveUTF8('данных', 'ых')─┐
│                                           1 │
└─────────────────────────────────────────────┘

endsWithUTF8

Introducido en: v23.8.0

Devuelve si la cadena s termina con suffix. Asume que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

endsWithUTF8(s, suffix)

Argumentos

  • s — String que se va a comprobar. String
  • suffix — Sufijo que se va a comprobar. String

Valor devuelto

Devuelve 1 si s termina con suffix; de lo contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT endsWithUTF8('данных', 'ых');
┌─endsWithUTF8('данных', 'ых')─┐
│                            1 │
└──────────────────────────────┘

extractTextFromHTML

Introducido en: v21.3.0

Extrae el contenido de texto de HTML o XHTML.

Esta función elimina las etiquetas HTML, los comentarios y los elementos script/style, y deja únicamente el contenido de texto. Gestiona lo siguiente:

  • La eliminación de todas las etiquetas HTML/XML
  • La eliminación de comentarios ({/* */})
  • La eliminación de los elementos script y style junto con su contenido
  • El procesamiento de secciones CDATA (copiadas literalmente)
  • El tratamiento y la normalización correctos de los espacios en blanco

Nota: las entidades HTML no se decodifican y deben procesarse con una función aparte si es necesario.

Sintaxis

extractTextFromHTML(html)

Argumentos

  • html — Cadena con contenido HTML del que se extrae el texto. String

Valor devuelto

Devuelve el contenido de texto extraído con espacios en blanco normalizados. String

Ejemplos

Ejemplo de uso

SELECT extractTextFromHTML('
<html>
    <head><title>Page Title</title></head>
    <body>
        <p>Hello <b>World</b>!</p>
        <script>alert("test");</script>
        <!-- comment -->
    </body>
</html>
');
┌─extractTextFromHTML('\n<html>\n    <head><title>Page Title</title></head>\n    <body>\n        <p>Hello <b>World</b>!</p>\n        <script>alert("test");</script>\n        <!-- comment -->\n    </body>\n</html>\n')─┐
│ Page Title Hello World !                                                                                                                                                                                               │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

firstLine

Introducido en: v23.7.0

Devuelve la primera línea de una cadena multilínea.

Sintaxis

firstLine(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve la primera línea de la cadena de entrada o la cadena completa si no hay separadores de línea. String

Ejemplos

Ejemplo de uso

SELECT firstLine('foo\\nbar\\nbaz')
┌─firstLine('foo\\nbar\\nbaz')─┐
│ foo\nbar\nbaz                │
└──────────────────────────────┘

idnaDecode

Introducido en: v24.1.0

Devuelve la representación Unicode (UTF-8) (algoritmo ToUnicode) de un nombre de dominio según el mecanismo Internationalized Domain Names in Applications (IDNA). En caso de error (por ejemplo, porque la entrada no es válida), se devuelve la cadena de entrada. Tenga en cuenta que el uso repetido de idnaEncode() y idnaDecode() no devuelve necesariamente la cadena original debido a la normalización de mayúsculas y minúsculas.

Sintaxis

idnaDecode(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve una representación Unicode (UTF-8) de la cadena de entrada según el mecanismo IDNA correspondiente al valor de entrada. String

Ejemplos

Ejemplo de uso

SELECT idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')
┌─idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')─┐
│ straße.münchen.de                             │
└───────────────────────────────────────────────┘

idnaEncode

Introducido en: v24.1.0

Devuelve la representación ASCII (algoritmo ToASCII) de un nombre de dominio según el mecanismo Internationalized Domain Names in Applications (IDNA). La cadena de entrada debe estar codificada en UTF y poder convertirse en una cadena ASCII; de lo contrario, se lanza una excepción.

Sintaxis

idnaEncode(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve una representación ASCII de la cadena de entrada conforme al mecanismo IDNA. String

Ejemplos

Ejemplo de uso

SELECT idnaEncode('straße.münchen.de')
┌─idnaEncode('straße.münchen.de')─┐
│ xn--strae-oqa.xn--mnchen-3ya.de │
└─────────────────────────────────┘

initcap

Introducido en: v23.7.0

Convierte la primera letra de cada palabra en mayúscula y el resto en minúsculas. Las palabras son secuencias de caracteres alfanuméricos separadas por caracteres no alfanuméricos.

Sintaxis

initcap(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve s con la primera letra de cada palabra en mayúscula. String

Ejemplos

Ejemplo de uso

SELECT initcap('building for fast')
┌─initcap('building for fast')─┐
│ Building For Fast            │
└──────────────────────────────┘

Ejemplo del comportamiento conocido con palabras que contienen apóstrofos o letras mayúsculas

SELECT initcap('John''s cat won''t eat.');
┌─initcap('John\'s cat won\'t eat.')─┐
│ John'S Cat Won'T Eat.              │
└────────────────────────────────────┘

initcapUTF8

Introducido en: v23.7.0

Al igual que initcap, initcapUTF8 convierte la primera letra de cada palabra en mayúscula y el resto en minúsculas. Se asume que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado no está definido.

Sintaxis

initcapUTF8(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve s con la primera letra de cada palabra en mayúscula. String

Ejemplos

Ejemplo de uso

SELECT initcapUTF8('не тормозит')
┌─initcapUTF8('не тормозит')─┐
│ Не Тормозит                │
└────────────────────────────┘

isValidASCII

Introducido en: v25.9.0

Devuelve 1 si el valor de entrada de tipo String o FixedString contiene solo bytes ASCII (0x00–0x7F); en caso contrario, 0. Está optimizado para el caso positivo (la entrada es ASCII válida).

Sintaxis

isValidASCII(str)

Alias: isASCII

Argumentos

  • Ninguno.

Valor devuelto

Ejemplos

isValidASCII

SELECT isValidASCII('hello') AS is_ascii, isValidASCII('你好') AS is_not_ascii
┌─is_ascii─┬─is_not_ascii─┐
│        1 │            0 │
└──────────┴──────────────┘

isValidUTF8

Introducido en: v20.1.0

Comprueba si la secuencia de bytes forma un texto válido codificado en UTF-8.

Sintaxis

isValidUTF8(s)

Argumentos

  • s — La cadena cuya validez de codificación UTF-8 se comprobará. String

Valor devuelto

Devuelve 1 si el conjunto de bytes constituye texto válido codificado en UTF-8; de lo contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT isValidUTF8('\\xc3\\xb1') AS valid, isValidUTF8('\\xc3\\x28') AS invalid
┌─valid─┬─invalid─┐
│     1 │       1 │
└───────┴─────────┘

jaroSimilarity

Introducido en: v24.1.0

Calcula la similitud de Jaro entre dos cadenas de bytes.

Sintaxis

jaroSimilarity(s1, s2)

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve la similitud Jaro entre ambas cadenas. Float64

Ejemplos

Ejemplo de uso

SELECT jaroSimilarity('clickhouse', 'click')
┌─jaroSimilarity('clickhouse', 'click')─┐
│                    0.8333333333333333 │
└───────────────────────────────────────┘

jaroWinklerSimilarity

Introducido en: v24.1.0

Calcula la similitud de Jaro-Winkler entre dos cadenas de bytes.

Sintaxis

jaroWinklerSimilarity(s1, s2)

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve la similitud de Jaro-Winkler entre ambas cadenas. Float64

Ejemplos

Ejemplo de uso

SELECT jaroWinklerSimilarity('clickhouse', 'click')
┌─jaroWinklerSimilarity('clickhouse', 'click')─┐
│                           0.8999999999999999 │
└──────────────────────────────────────────────┘

left

Introducido en: v22.1.0

Devuelve una subcadena de la cadena s con un offset especificado, a partir de la izquierda.

Sintaxis

left(s, offset)

Argumentos

  • s — La cadena a partir de la cual se calcula una subcadena. String o FixedString
  • offset — La cantidad de bytes de desplazamiento. (U)Int*

Valor devuelto

Devuelve:

  • Para offset positivo, una subcadena de s de offset bytes, empezando por la izquierda de la cadena.
  • Para offset negativo, una subcadena de s de length(s) - |offset| bytes, empezando por la izquierda de la cadena.
  • Una cadena vacía si length es 0. String

Ejemplos

Desplazamiento positivo

SELECT left('Hello World', 5)
Hello

Offset negativo

SELECT left('Hello World', -6)
Hello

leftPad

Introducido en: v21.8.0

Rellena una cadena por la izquierda con espacios o con una cadena especificada (varias veces, si es necesario) hasta que la cadena resultante alcance la length especificada.

Sintaxis

leftPad(string, length[, pad_string])

Alias: lpad

Argumentos

  • string — Cadena de entrada que debe rellenarse. String
  • length — Longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta a length caracteres. (U)Int*
  • pad_string — Opcional. Cadena utilizada para rellenar la cadena de entrada. Si no se especifica, la cadena de entrada se rellena con espacios. String

Valor devuelto

Devuelve una cadena rellenada por la izquierda con la longitud indicada. String

Ejemplos

Ejemplo de uso

SELECT leftPad('abc', 7, '*'), leftPad('def', 7)
┌─leftPad('abc', 7, '*')─┬─leftPad('def', 7)─┐
│ ****abc                │     def           │
└────────────────────────┴───────────────────┘

leftPadUTF8

Introducido en: v21.8.0

Rellena una cadena UTF-8 por la izquierda con espacios o con una cadena especificada (repetida varias veces, si es necesario) hasta que la cadena resultante alcance la longitud indicada. A diferencia de leftPad, que mide la longitud de la cadena en bytes, aquí la longitud de la cadena se mide en puntos de código.

Sintaxis

leftPadUTF8(string, length[, pad_string])

Argumentos

  • string — Cadena de entrada que se debe rellenar. String
  • length — La longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta a length caracteres. (U)Int*
  • pad_string — Opcional. La cadena con la que se rellena la cadena de entrada. Si no se especifica, la cadena de entrada se rellena con espacios. String

Valor devuelto

Devuelve una cadena rellenada por la izquierda con la longitud indicada. String

Ejemplos

Ejemplo de uso

SELECT leftPadUTF8('абвг', 7, '*'), leftPadUTF8('дежз', 7)
┌─leftPadUTF8('абвг', 7, '*')─┬─leftPadUTF8('дежз', 7)─┐
│ ***абвг                     │    дежз                │
└─────────────────────────────┴────────────────────────┘

leftUTF8

Introducido en: v22.1.0

Devuelve una subcadena de una cadena s codificada en UTF-8, con un offset especificado desde la izquierda.

Sintaxis

leftUTF8(s, offset)

Argumentos

  • s — La cadena codificada en UTF-8 a partir de la cual se calcula una subcadena. String o FixedString
  • offset — El desplazamiento en bytes. (U)Int*

Valor devuelto

Devuelve:

  • Para un offset positivo, una subcadena de s de offset bytes, empezando desde la izquierda de la cadena.\n"
  • Para un offset negativo, una subcadena de s de length(s) - |offset| bytes, empezando desde la izquierda de la cadena.\n"
  • Una cadena vacía si length es 0. String

Ejemplos

Desplazamiento positivo

SELECT leftUTF8('Привет', 4)
Прив

Offset negativo

SELECT leftUTF8('Привет', -4)
Пр

lengthUTF8

Introducido en: v1.1.0

Devuelve la longitud de una cadena en puntos de código Unicode en lugar de en bytes o caracteres. Para calcular la longitud de una cadena en bytes, use la función length. Supone que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

lengthUTF8(s)

Alias: CHARACTER_LENGTH, CHAR_LENGTH

Argumentos

  • s — Cadena que contiene texto codificado en UTF-8 válido. String

Valor devuelto

Longitud de la cadena s en puntos de código Unicode. UInt64

Ejemplos

Ejemplo de uso

SELECT lengthUTF8('Здравствуй, мир!')
┌─lengthUTF8('Здравствуй, мир!')─┐
│                             16 │
└────────────────────────────────┘

lower

Introducido en: v1.1.0

Convierte una cadena ASCII en minúsculas.

Sintaxis

lower(s)

Alias: lcase

Argumentos

  • s — Una cadena para convertir a minúsculas. String

Valor devuelto

Devuelve s en minúsculas. String

Ejemplos

Ejemplo de uso

SELECT lower('CLICKHOUSE')
┌─lower('CLICKHOUSE')─┐
│ clickhouse          │
└─────────────────────┘

lowerUTF8

Introducido en: v1.1.0

Convierte una cadena a minúsculas, suponiendo que contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

lowerUTF8(input)

Argumentos

  • input — Cadena de entrada que se convierte a minúsculas. String

Valor devuelto

Devuelve una cadena en minúsculas. String

Ejemplos

primero

SELECT lowerUTF8('München') as Lowerutf8;
münchen

naturalSortKey

Introducido en: v26.3.0

La función se utiliza para realizar una ordenación natural.

Sintaxis

naturalSortKey(s)

Alias: NATURAL_SORT_KEY

Argumentos

  • s — Una cadena para convertirla en una clave de ordenación natural. String

Valor devuelto

Devuelve una cadena con la clave de ordenación natural de s. String

Ejemplos

Ejemplo de uso

CREATE TABLE t (s String) ENGINE = Memory;
INSERT INTO t VALUES ('a1'), ('a02');

SELECT s FROM t ORDER BY naturalSortKey(s);
┌─s───┐
│ a1  │
│ a02 │
└─────┘

normalizeUTF8NFC

Introducida en: v21.11.0

Normaliza una cadena UTF-8 de acuerdo con la forma de normalización NFC.

Sintaxis

normalizeUTF8NFC(str)

Argumentos

  • str — cadena de entrada codificada en UTF-8. String

Valor devuelto

Devuelve la forma normalizada NFC de la cadena UTF-8. String

Ejemplos

Ejemplo de uso

SELECT
'é' AS original, -- e + acento agudo combinado (U+0065 + U+0301)
length(original),
normalizeUTF8NFC('é') AS nfc_normalized, -- é (U+00E9)
length(nfc_normalized);
┌─original─┬─length(original)─┬─nfc_normalized─┬─length(nfc_normalized)─┐
│ é        │                2 │ é              │                      2 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFD

Introducido en: v21.11.0

Normaliza una cadena UTF-8 según la forma de normalización NFD.

Sintaxis

normalizeUTF8NFD(str)

Argumentos

  • str — cadena de entrada codificada en UTF-8. String

Valor devuelto

Devuelve la forma normalizada NFD de la cadena en UTF-8. String

Ejemplos

Ejemplo de uso

SELECT
    'é' AS original, -- é (U+00E9)
    length(original),
    normalizeUTF8NFD('é') AS nfd_normalized, -- e + acento combinatorio (U+0065 + U+0301)
    length(nfd_normalized);
┌─original─┬─length(original)─┬─nfd_normalized─┬─length(nfd_normalized)─┐
│ é        │                2 │ é              │                      3 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFKC

Introducido en: v21.11.0

Normaliza una cadena en UTF-8 según la forma de normalización NFKC.

Sintaxis

normalizeUTF8NFKC(str)

Argumentos

  • str — cadena de entrada codificada en UTF-8. String

Valor devuelto

Devuelve la forma NFKC normalizada de la cadena UTF-8. String

Ejemplos

Ejemplo de uso

SELECT
    '① ② ③' AS original,                           -- Circled number characters
    normalizeUTF8NFKC('① ② ③') AS nfkc_normalized  -- Converts to 1 2 3
┌─original─┬─nfkc_normalized─┐
│ ① ② ③    │ 1 2 3           │
└──────────┴─────────────────┘

normalizeUTF8NFKCCasefold

Introducido en: v26.3.0

Normaliza una cadena UTF-8 según la forma de normalización NFKC_Casefold, que aplica la normalización NFKC y, a continuación, realiza el case folding. Esto resulta útil para la comparación de identificadores sin distinción entre mayúsculas y minúsculas.

Sintaxis

normalizeUTF8NFKCCasefold(str)

Argumentos

  • str — cadena de entrada codificada en UTF-8. String

Valor devuelto

Devuelve la forma normalizada NFKC_Casefold de la cadena codificada en UTF-8. String

Ejemplos

Ejemplo de uso

SELECT
    'Ä ① Hello' AS original,
    normalizeUTF8NFKCCasefold('Ä ① Hello') AS nfkc_cf_normalized;
┌─original──┬─nfkc_cf_normalized─┐
│ Ä ① Hello │ ä 1 hello          │
└───────────┴────────────────────┘

normalizeUTF8NFKD

Introducido en: v21.11.0

Normaliza una cadena UTF-8 de acuerdo con la forma de normalización NFKD.

Sintaxis

normalizeUTF8NFKD(str)

Argumentos

  • str — Cadena de entrada codificada en UTF-8. String

Valor devuelto

Devuelve la forma normalizada NFKD de la cadena codificada en UTF-8. String

Ejemplos

Ejemplo de uso

SELECT
    'H₂O²' AS original,                           -- H + subscript 2 + O + superscript 2
    normalizeUTF8NFKD('H₂O²') AS nfkd_normalized  -- Converts to H 2 O 2
┌─original─┬─nfkd_normalized─┐
│ H₂O²     │ H2O2            │
└──────────┴─────────────────┘

punycodeDecode

Introducido en: v24.1.0

Devuelve el texto sin formato codificado en UTF-8 de una cadena codificada en Punycode. Si no se proporciona una cadena válida codificada en Punycode, se genera una excepción.

Sintaxis

punycodeDecode(s)

Argumentos

  • s — Cadena codificada en Punycode. String

Valor devuelto

Devuelve el texto sin formato del valor de entrada. String

Ejemplos

Ejemplo de uso

SELECT punycodeDecode('Mnchen-3ya')
┌─punycodeDecode('Mnchen-3ya')─┐
│ München                      │
└──────────────────────────────┘

punycodeEncode

Introducido en: v24.1.0

Devuelve la representación en Punycode de una cadena. La cadena debe estar codificada en UTF-8; de lo contrario, el comportamiento no está definido.

Sintaxis

punycodeEncode(s)

Argumentos

  • s — Valor de entrada. String

Valor devuelto

Devuelve la representación en Punycode del valor de entrada. String

Ejemplos

Ejemplo de uso

SELECT punycodeEncode('München')
┌─punycodeEncode('München')─┐
│ Mnchen-3ya                │
└───────────────────────────┘

regexpExtract

Introducido en: v23.2.0

Extrae la primera cadena de haystack que coincide con el patrón de expresión regular y corresponde al índice del grupo de la expresión regular.

Sintaxis

regexpExtract(haystack, pattern[, index])

Alias: REGEXP_EXTRACT, REGEXP_SUBSTR

Argumentos

  • haystack — String, donde se buscará la coincidencia con el patrón regexp. String
  • pattern — String, expresión regular. pattern puede contener varios grupos regexp; index indica qué grupo de la expresión regular se extraerá. Un índice de 0 significa que se extrae la coincidencia de la expresión regular completa. const String
  • index — Opcional. Un entero no negativo que indica qué grupo de la expresión regular se extraerá. El valor predeterminado es 1 si pattern contiene al menos un grupo de captura, y 0 (la coincidencia completa) si pattern no tiene ningún grupo de captura. (U)Int*

Valor devuelto

Devuelve una coincidencia como cadena String

Ejemplos

Ejemplo de uso

SELECT
    regexpExtract('100-200', '(\\d+)-(\\d+)', 1),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 2),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 0),
    regexpExtract('100-200', '(\\d+)-(\\d+)'),
    regexpExtract('100-200', '\\d+');
┌─regexpExtract('100-200', '(\\d+)-(\\d+)', 1)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 2)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 0)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)')─┬─regexpExtract('100-200', '\\d+')─┐
│ 100                                          │ 200                                          │ 100-200                                      │ 100                                       │ 100                              │
└──────────────────────────────────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────────────────────────────────┴──────────────────────────────────┘

regexpPosition

Introducido en: v26.5.0

Devuelve la posición en bytes (basada en 1) de la coincidencia número occurrence de pattern en haystack, comenzando la búsqueda en la posición en bytes position.

Si return_option es 0 (valor predeterminado), devuelve la posición del primer byte de la coincidencia. Si es 1, devuelve la posición del primer byte después de la coincidencia.

Si subexpression es mayor que 0, devuelve la posición del grupo de captura correspondiente en lugar de la coincidencia completa.

Devuelve 0 si no se encuentra ninguna coincidencia o si el grupo de captura solicitado no participó en la coincidencia.

Se proporciona por compatibilidad con regexp_instr de PostgreSQL (también disponible con ese alias). Ten en cuenta que las posiciones se basan en bytes, en consonancia con otras funciones de expresiones regulares de ClickHouse; regexp_instr de PostgreSQL se basa en caracteres.

Sintaxis

regexpPosition(haystack, pattern[, position[, occurrence[, return_option[, flags[, subexpression]]]]])

Alias: regexpInstr, regexp_instr

Argumentos

  • haystack — Cadena en la que buscar. String
  • pattern — Patrón de expresión regular. const String
  • position — Opcional. Posición en bytes, basada en 1, desde la que se inicia la búsqueda. Valor predeterminado: 1. (U)Int*
  • occurrence — Opcional. Qué coincidencia devolver. Valor predeterminado: 1. (U)Int*
  • return_option — Opcional. 0 devuelve la posición de inicio de la coincidencia; 1 devuelve la posición inmediatamente posterior a la coincidencia. Valor predeterminado: 0. (U)Int*
  • flags — Opcional. Banderas de regex. Compatibles: i (sin distinción entre mayúsculas y minúsculas), c (con distinción entre mayúsculas y minúsculas), m/n (anclajes multilínea), s (el punto coincide con el salto de línea). Valor predeterminado: vacío. const String
  • subexpression — Opcional. Índice del grupo de captura cuya posición se devolverá. 0 significa la coincidencia completa. Valor predeterminado: 0. (U)Int*

Valor devuelto

Devuelve la posición en bytes de la coincidencia, o 0 si no se encuentra. UInt64

Ejemplos

Uso básico

SELECT
    regexpPosition('hello world', 'world'),
    regexpPosition('aXbXcXd', 'X', 1, 2),
    regexpPosition('aXbXcXd', 'X', 1, 2, 1),
    regexpPosition('Hello WORLD', 'world', 1, 1, 0, 'i'),
    regexpPosition('foo123bar456', '([a-z]+)([0-9]+)', 1, 2, 0, '', 2);
┌─regexpPosition('hello world', 'world')─┬─regexpPosition('aXbXcXd', 'X', 1, 2)─┬─regexpPosition('aXbXcXd', 'X', 1, 2, 1)─┬─regexpPosition('Hello WORLD', 'world', 1, 1, 0, 'i')─┬─regexpPosition('foo123bar456', '([a-z]+)([0-9]+)', 1, 2, 0, '', 2)─┐
│                                      7 │                                    4 │                                       5 │                                                    7 │                                                                 10 │
└────────────────────────────────────────┴──────────────────────────────────────┴─────────────────────────────────────────┴──────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────┘

removeDiacriticsUTF8

Introducido en: v26.3.0

Elimina las marcas diacríticas (acentos) de una cadena UTF-8 al descomponer los caracteres mediante NFD, eliminar las marcas de combinación (categoría Unicode Mn) y volver a componerlos mediante NFC.

Sintaxis

removeDiacriticsUTF8(str)

Alias: removeAccentsUTF8

Argumentos

  • str — cadena de entrada codificada en UTF-8. String

Valor devuelto

Cadena UTF-8 sin diacríticos. String

Ejemplos

Eliminación básica de acentos

SELECT removeDiacriticsUTF8('café résumé naïve')
┌─removeDiacriticsUTF8('café résumé naïve')─┐
│ cafe resume naive                         │
└───────────────────────────────────────────┘

repeat

Introducido en: v20.1.0

Concatena una cadena consigo misma tantas veces como se indique.

Sintaxis

repeat(s, n)

Argumentos

  • s — La cadena que se debe repetir. String
  • n — El número de veces que se debe repetir la cadena. (U)Int*

Valor devuelto

Una cadena que contiene s repetida n veces. Si n es negativo, la función devuelve una cadena vacía. String

Ejemplos

Ejemplo de uso

SELECT repeat('abc', 10)
┌─repeat('abc', 10)──────────────┐
│ abcabcabcabcabcabcabcabcabcabc │
└────────────────────────────────┘

reverseUTF8

Introducido en: v1.1.0

Invierte una secuencia de puntos de código Unicode en una cadena. Supone que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

reverseUTF8(s)

Argumentos

  • s — Cadena que contiene texto válido codificado en UTF-8. String

Valor devuelto

Devuelve una cadena con la secuencia de puntos de código Unicode invertida. String

Ejemplos

Ejemplo de uso

SELECT reverseUTF8('ClickHouse')
esuoHkcilC

Introducido en: v22.1.0

Devuelve una subcadena de la cadena s con un offset especificado a partir de la derecha.

Sintaxis

right(s, offset)

Argumentos

  • s — La cadena a partir de la cual se calculará una subcadena. String o FixedString
  • offset — El número de bytes de desplazamiento. (U)Int*

Valor devuelto

Devuelve:

  • Para un offset positivo, una subcadena de s de offset bytes, empezando por la derecha de la cadena.
  • Para un offset negativo, una subcadena de s de length(s) - |offset| bytes, empezando por la derecha de la cadena.
  • Una cadena vacía si length es 0. String

Ejemplos

Desplazamiento positivo

SELECT right('Hello', 3)
llo

Offset negativo

SELECT right('Hello', -3)
lo

rightPad

Introducido en: v21.8.0

Rellena una cadena por la derecha con espacios o con una cadena especificada (repitiéndola varias veces, si es necesario) hasta que la cadena resultante alcance la length especificada.

Sintaxis

rightPad(string, length[, pad_string])

Alias: rpad

Argumentos

  • string — Cadena de entrada que se debe rellenar. String
  • length — La longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta a length caracteres. (U)Int*
  • pad_string — Opcional. La cadena con la que se rellena la cadena de entrada. Si no se especifica, la cadena de entrada se rellena con espacios. String

Valor devuelto

Devuelve una cadena rellenada por la derecha con la longitud especificada. String

Ejemplos

Ejemplo de uso

SELECT rightPad('abc', 7, '*'), rightPad('abc', 7)
┌─rightPad('abc', 7, '*')─┬─rightPad('abc', 7)─┐
│ abc****                 │ abc                │
└─────────────────────────┴────────────────────┘

rightPadUTF8

Introducido en: v21.8.0

Rellena la cadena por la derecha con espacios o con una cadena especificada (varias veces, si es necesario) hasta que la cadena resultante alcance la longitud indicada. A diferencia de rightPad, que mide la longitud de la cadena en bytes, aquí la longitud de la cadena se mide en puntos de código.

Sintaxis

rightPadUTF8(string, length[, pad_string])

Argumentos

  • string — Cadena de entrada que se debe rellenar. String
  • length — La longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta a length caracteres. (U)Int*
  • pad_string — Opcional. La cadena con la que se rellena la cadena de entrada. Si no se especifica, la cadena de entrada se rellena con espacios. String

Valor devuelto

Devuelve una cadena de la longitud indicada, rellenada por la derecha. String

Ejemplos

Ejemplo de uso

SELECT rightPadUTF8('абвг', 7, '*'), rightPadUTF8('абвг', 7)
┌─rightPadUTF8('абвг', 7, '*')─┬─rightPadUTF8('абвг', 7)─┐
│ абвг***                      │ абвг                    │
└──────────────────────────────┴─────────────────────────┘

rightUTF8

Introducido en: v22.1.0

Devuelve una subcadena de la cadena s, codificada en UTF-8, con un offset especificado desde la derecha.

Sintaxis

rightUTF8(s, offset)

Argumentos

  • s — La cadena codificada en UTF-8 de la que se calcula una subcadena. String o FixedString
  • offset — El número de bytes del desplazamiento. (U)Int*

Valor devuelto

Devuelve:

  • Para offset positivo, una subcadena de s de offset bytes, empezando por la derecha de la cadena.
  • Para offset negativo, una subcadena de s de length(s) - |offset| bytes, empezando por la derecha de la cadena.
  • Una cadena vacía si length es 0. String

Ejemplos

Desplazamiento positivo

SELECT rightUTF8('Привет', 4)
ивет

Desplazamiento negativo

SELECT rightUTF8('Привет', -4)
ет

soundex

Introducido en: v23.4.0

Devuelve el código Soundex de una cadena.

Sintaxis

soundex(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve el código Soundex de la cadena de entrada. String

Ejemplos

Ejemplo de uso

SELECT soundex('aksel')
┌─soundex('aksel')─┐
│ A240             │
└──────────────────┘

space

Introducido en: v23.5.0

Concatena un espacio ( ) consigo mismo tantas veces como se indique.

Sintaxis

space(n)

Argumentos

  • n — El número de veces que se repite el carácter de espacio. (U)Int*

Valor devuelto

Devuelve una cadena que contiene un espacio repetido n veces. Si n <= 0, la función devuelve la cadena vacía. String

Ejemplos

Ejemplo de uso

SELECT space(3) AS res, length(res);
┌─res─┬─length(res)─┐
│     │           3 │
└─────┴─────────────┘

sparseGrams

Introducido en: v25.5.0

Encuentra todas las subcadenas de una cadena dada que tengan una longitud de al menos n, donde los hashes de los (n-1)-gramas en los extremos de la subcadena son estrictamente mayores que los de cualquier (n-1)-grama dentro de ella. Usa CRC32 como función hash.

Sintaxis

sparseGrams(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])

Argumentos

  • s — Una cadena de entrada. String
  • min_ngram_length — Opcional. La longitud mínima del ngrama extraído. El valor predeterminado, que también es el mínimo, es 3. UInt*
  • max_ngram_length — Opcional. La longitud máxima del ngrama extraído. El valor predeterminado es 100. No debe ser menor que min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Si se especifica, solo se devuelven n-gramas cuya longitud sea mayor o igual que min_cutoff_length. El valor predeterminado es el mismo que min_ngram_length. No debe ser menor que min_ngram_length ni mayor que max_ngram_length. UInt*

Valor devuelto

Devuelve un array de subcadenas seleccionadas. Array(String)

Ejemplos

Ejemplo de uso

SELECT sparseGrams('alice', 3)
┌─sparseGrams('alice', 3)────┐
│ ['ali','lic','ice','lice'] │
└────────────────────────────┘

sparseGramsHashes

Introducido en: v25.5.0

Encuentra los valores hash de todas las subcadenas de una cadena dada que tengan una longitud de al menos n, donde los valores hash de los ngramas de longitud n-1 en los bordes de la subcadena sean estrictamente mayores que los de cualquier ngrama de longitud n-1 dentro de la subcadena. Usa CRC32 como función hash.

Sintaxis

sparseGramsHashes(s[, min_ngram_length, max_ngram_length])

Argumentos

  • s — Una cadena de entrada. String
  • min_ngram_length — Opcional. La longitud mínima del ngrama extraído. El valor predeterminado y mínimo es 3. UInt*
  • max_ngram_length — Opcional. La longitud máxima del ngrama extraído. El valor predeterminado es 100. No debe ser inferior a min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Si se especifica, solo se devuelven los ngramas con una longitud mayor o igual que min_cutoff_length. El valor predeterminado es el mismo que min_ngram_length. No debe ser inferior a min_ngram_length ni superior a max_ngram_length. UInt*

Valor devuelto

Devuelve un array de hash CRC32 de las subcadenas seleccionadas. Array(UInt32)

Ejemplos

Ejemplo de uso

SELECT sparseGramsHashes('alice', 3)
┌─sparseGramsHashes('alice', 3)────────────────┐
│ [3851133533,3120039944,646693941,2577359366] │
└──────────────────────────────────────────────┘

sparseGramsHashesUTF8

Introducido en: v25.5.0

Encuentra los hashes de todas las subcadenas de una cadena UTF-8 dada con una longitud de al menos n, donde los hashes de los (n-1)-gramas en los bordes de la subcadena son estrictamente mayores que los de cualquier (n-1)-grama dentro de la subcadena. Espera una cadena UTF-8 y lanza una excepción en caso de secuencia UTF-8 no válida. Usa CRC32 como función hash.

Sintaxis

sparseGramsHashesUTF8(s[, min_ngram_length, max_ngram_length])

Argumentos

  • s — Una cadena de entrada. String
  • min_ngram_length — Opcional. La longitud mínima del ngrama extraído. El valor predeterminado y mínimo es 3. UInt*
  • max_ngram_length — Opcional. La longitud máxima del ngrama extraído. El valor predeterminado es 100. No debe ser inferior a min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Si se especifica, solo se devuelven n-gramas con una longitud igual o mayor que min_cutoff_length. El valor predeterminado es el mismo que min_ngram_length. No debe ser inferior a min_ngram_length ni superior a max_ngram_length. UInt*

Valor devuelto

Devuelve un Array de hashes CRC32 de las subcadenas UTF-8 seleccionadas. Array(UInt32)

Ejemplos

Ejemplo de uso

SELECT sparseGramsHashesUTF8('алиса', 3)
┌─sparseGramsHashesUTF8('алиса', 3)───────────────────────┐
│ [1328958118,547287748,4155892324,2403052185,1673399070] │
└─────────────────────────────────────────────────────────┘

sparseGramsUTF8

Introducido en: v25.5.0

Encuentra todas las subcadenas de una cadena UTF-8 dada que tengan una longitud de al menos n, donde los valores hash de los (n-1)-ngramas en los extremos de la subcadena son estrictamente mayores que los de cualquier (n-1)-ngrama dentro de la subcadena. Espera una cadena UTF-8 y genera una excepción si la secuencia UTF-8 no es válida. Usa CRC32 como función hash.

Sintaxis

sparseGramsUTF8(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])

Argumentos

  • s — Una cadena de entrada. String
  • min_ngram_length — Opcional. La longitud mínima del ngrama extraído. El valor predeterminado y mínimo es 3. UInt*
  • max_ngram_length — Opcional. La longitud máxima del ngrama extraído. El valor predeterminado es 100. No debe ser inferior a min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Si se especifica, solo se devuelven los ngramas con una longitud mayor o igual que min_cutoff_length. El valor predeterminado es el mismo que min_ngram_length. No debe ser inferior a min_ngram_length ni superior a max_ngram_length. UInt*

Valor devuelto

Devuelve un array de subcadenas UTF-8 seleccionadas. Array(String)

Ejemplos

Ejemplo de uso

SELECT sparseGramsUTF8('алиса', 3)
┌─sparseGramsUTF8('алиса', 3)────────┐
│ ['али','лис','иса','лиса','алиса'] │
└────────────────────────────────────┘

startsWith

Introducido en: v1.1.0

Comprueba si una cadena empieza por la cadena proporcionada.

Sintaxis

startsWith(s, prefix)

Argumentos

  • s — Cadena que se va a comprobar. String
  • prefix — Prefijo que se va a comprobar. String

Valor devuelto

Devuelve 1 si s comienza con prefix; en caso contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT startsWith('ClickHouse', 'Click');
┌─startsWith('ClickHouse', 'Click')─┐
│                                 1 │
└───────────────────────────────────┘

startsWithCaseInsensitive

Introducido en: v25.10.0

Comprueba si una cadena empieza por la cadena proporcionada sin distinguir entre mayúsculas y minúsculas.

Sintaxis

startsWithCaseInsensitive(s, prefix)

Argumentos

  • s — Cadena que se comprobará. String
  • prefix — Prefijo sin distinción entre mayúsculas y minúsculas que se comprobará. String

Valor devuelto

Devuelve 1 si s comienza por el prefix sin distinguir entre mayúsculas y minúsculas; en caso contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT startsWithCaseInsensitive('ClickHouse', 'CLICK');
┌─startsWithCaseInsensitive('ClickHouse', 'CLICK')─┐
│                                                1 │
└──────────────────────────────────────────────────┘

startsWithCaseInsensitiveUTF8

Introducido en: v25.10.0

Comprueba si una cadena comienza con el prefijo proporcionado sin distinguir entre mayúsculas y minúsculas. Se asume que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

startsWithCaseInsensitiveUTF8(s, prefix)

Argumentos

  • s — Cadena que se debe comprobar. String
  • prefix — Prefijo, sin distinguir entre mayúsculas y minúsculas, cuya coincidencia se debe comprobar. String

Valor devuelto

Devuelve 1 si s empieza por prefix sin distinguir entre mayúsculas y minúsculas; en caso contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT startsWithCaseInsensitiveUTF8('приставка', 'при')
┌─startsWithCaseInsensitiveUTF8('приставка', 'при')─┐
│                                                 1 │
└───────────────────────────────────────────────────┘

startsWithUTF8

Introducido en: v23.8.0

Comprueba si una cadena empieza por el prefijo proporcionado. Asume que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

startsWithUTF8(s, prefix)

Argumentos

  • s — Cadena que se va a comprobar. String
  • prefix — Prefijo que se va a comprobar. String

Valor devuelto

Devuelve 1 si s empieza por prefix; de lo contrario, 0. UInt8

Ejemplos

Ejemplo de uso

SELECT startsWithUTF8('приставка', 'при')
┌─startsWithUTF8('приставка', 'при')─┐
│                                  1 │
└────────────────────────────────────┘

stringBytesEntropy

Introducido en: v25.6.0

Calcula la entropía de Shannon de la distribución de bytes de una cadena.

Sintaxis

stringBytesEntropy(s)

Argumentos

  • s — La cadena que se va a analizar. String

Valor devuelto

Devuelve la entropía de Shannon de la distribución de bytes de la cadena. Float64

Ejemplos

Ejemplo de uso

SELECT stringBytesEntropy('Hello, world!')
┌─stringBytesEntropy('Hello, world!')─┐
│                   3.180832987205441 │
└─────────────────────────────────────┘

stringBytesUniq

Introducido en: v25.6.0

Cuenta el número de bytes distintos de una cadena.

Sintaxis

stringBytesUniq(s)

Argumentos

  • s — La cadena que se analizará. String

Valor devuelto

Devuelve el número de bytes distintos de la cadena. UInt16

Ejemplos

Ejemplo de uso

SELECT stringBytesUniq('Hello')
┌─stringBytesUniq('Hello')─┐
│                        4 │
└──────────────────────────┘

stringJaccardIndex

Introducido en: v23.11.0

Calcula el índice de similitud de Jaccard entre dos cadenas de bytes.

Sintaxis

stringJaccardIndex(s1, s2)

Argumentos

  • s1 — Primera cadena de entrada. String
  • s2 — Segunda cadena de entrada. String

Valor devuelto

Devuelve el índice de similitud de Jaccard entre ambas cadenas. Float64

Ejemplos

Ejemplo de uso

SELECT stringJaccardIndex('clickhouse', 'mouse')
┌─stringJaccardIndex('clickhouse', 'mouse')─┐
│                                       0.4 │
└───────────────────────────────────────────┘

stringJaccardIndexUTF8

Introducido en: v23.11.0

Igual que stringJaccardIndex, pero para cadenas codificadas en UTF-8.

Sintaxis

stringJaccardIndexUTF8(s1, s2)

Argumentos

  • s1 — Primera cadena UTF-8 de entrada. String
  • s2 — Segunda cadena UTF-8 de entrada. String

Valor devuelto

Devuelve el índice de similitud de Jaccard entre las dos cadenas UTF-8. Float64

Ejemplos

Ejemplo de uso

SELECT stringJaccardIndexUTF8('我爱你', '我也爱你') AS jaccard_index
┌─jaccard_index─┐
│          0.75 │
└───────────────┘

substring

Introducido en: v1.1.0

Devuelve la subcadena de una cadena s que comienza en el índice de bytes offset especificado. El recuento de bytes comienza en 1 con la siguiente lógica:

  • Si offset es 0, se devuelve una cadena vacía.
  • Si offset es negativo, la subcadena comienza offset caracteres desde el final de la cadena, en lugar de hacerlo desde el principio.

Un argumento opcional, length, especifica el número máximo de bytes que puede tener la subcadena devuelta.

Vea también la función digits, que realiza la operación análoga sobre los dígitos de un número.

Sintaxis

substring(s, offset[, length])

Alias: byteSlice, mid, substr

Argumentos

  • s — La cadena de la que se extrae una subcadena. String o FixedString o Enum
  • offset — La posición inicial de la subcadena en s. (U)Int*
  • length — Opcional. La longitud máxima de la subcadena. (U)Int*

Valor devuelto

Devuelve una subcadena de s de length bytes, a partir del índice offset. String

Ejemplos

Uso básico

SELECT 'database' AS db, substr(db, 5), substr(db, 5, 1)
┌─db───────┬─substr(db, 5)─┬─substr(db, 5, 1)─┐
│ database │ base          │ b                │
└──────────┴───────────────┴──────────────────┘

substringIndex

Introducido en: v23.7.0

Devuelve la subcadena de s situada antes de la count-ésima aparición del delimitador delim, como en Spark o MySQL.

Sintaxis

substringIndex(s, delim, count)

alias: SUBSTRING_INDEX

Argumentos

  • s — La cadena de la que se extrae la subcadena. String
  • delim — El carácter delimitador. String
  • count — El número de apariciones del delimitador que se cuentan antes de extraer la subcadena. Si count es positivo, se devuelve todo lo que está a la izquierda del delimitador final (contando desde la izquierda). Si count es negativo, se devuelve todo lo que está a la derecha del delimitador final (contando desde la derecha). UInt o Int

Valor devuelto

Devuelve una subcadena de s situada antes de count apariciones de delim. String

Ejemplos

Ejemplo de uso

SELECT substringIndex('www.clickhouse.com', '.', 2)
┌─substringIndex('www.clickhouse.com', '.', 2)─┐
│ www.clickhouse                               │
└──────────────────────────────────────────────┘

substringIndexUTF8

Introducido en: v23.7.0

Devuelve la subcadena de s anterior a count apariciones del delimitador delim, específicamente para puntos de código Unicode. Asume que la cadena contiene texto válido codificado en UTF-8. Si no se cumple esta suposición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

substringIndexUTF8(s, delim, count)

Argumentos

  • s — La cadena de la que se extrae la subcadena. String
  • delim — El carácter delimitador. String
  • count — El número de apariciones del delimitador que se cuentan antes de extraer la subcadena. Si count es positivo, se devuelve todo lo que queda a la izquierda del delimitador final (contando desde la izquierda). Si count es negativo, se devuelve todo lo que queda a la derecha del delimitador final (contando desde la derecha). UInt o Int

Valor devuelto

Devuelve una subcadena de s situada antes de count apariciones de delim. String

Ejemplos

Ejemplo de UTF8

SELECT substringIndexUTF8('www.straßen-in-europa.de', '.', 2)
www.straßen-in-europa

substringUTF8

Introducido en: v1.1.0

Devuelve la subcadena de una cadena s que comienza en el índice de punto de código offset especificado. El recuento de puntos de código comienza en 1 con la siguiente lógica:

  • Si offset es 0, se devuelve una cadena vacía.
  • Si offset es negativo, la subcadena comienza offset puntos de código antes del final de la cadena, en lugar de hacerlo desde el principio.

Un argumento opcional, length, especifica el número máximo de puntos de código que puede tener la subcadena devuelta.

Sintaxis

substringUTF8(s, offset[, length])

Argumentos

  • s — La cadena de la que se extraerá una subcadena. String o FixedString o Enum
  • offset — La posición inicial de la subcadena en s. Int o UInt
  • length — La longitud máxima de la subcadena. Opcional. Int o UInt

Valor devuelto

Devuelve una subcadena de s de hasta length puntos de código, a partir del índice de punto de código offset. String

Ejemplos

Ejemplo de uso

SELECT 'Täglich grüßt das Murmeltier.' AS str, substringUTF8(str, 9), substringUTF8(str, 9, 5)
Täglich grüßt das Murmeltier.	grüßt das Murmeltier.	grüßt

toValidUTF8

Introducido en: v20.1.0

Convierte una cadena a una codificación UTF-8 válida sustituyendo cualquier carácter UTF-8 no válido por el carácter de reemplazo (U+FFFD). Cuando se encuentran varios caracteres no válidos consecutivos, se sustituyen por un único carácter de reemplazo.

Sintaxis

toValidUTF8(s)

Argumentos

  • s — Cualquier conjunto de bytes representado como un objeto del tipo de dato String. String

Valor devuelto

Devuelve una cadena UTF-8 válida. String

Ejemplos

Ejemplo de uso

SELECT toValidUTF8('\\x61\\xF0\\x80\\x80\\x80b')
\\x61\\xF0\\x80\\x80\\x80b

trimBoth

Introducido en: v20.1.0

Elimina los caracteres especificados del principio y del final de una cadena. De forma predeterminada, elimina los caracteres comunes de espacio en blanco (ASCII).

Sintaxis

trimBoth(s[, trim_characters])

Alias: trim

Argumentos

  • s — Cadena que se recortará. String
  • trim_characters — Opcional. Caracteres que se recortarán. Si no se especifica, se eliminan los caracteres de espacio en blanco habituales. String

Valor devuelto

Devuelve la cadena tras recortar los caracteres especificados de ambos extremos. String

Ejemplos

Ejemplo de uso

SELECT trimBoth('$$ClickHouse$$', '$')
┌─trimBoth('$$ClickHouse$$', '$')─┐
│ ClickHouse                      │
└─────────────────────────────────┘

trimLeft

Introducido en: v20.1.0

Elimina los caracteres especificados del principio de una cadena. De forma predeterminada, elimina los caracteres de espacio en blanco (ASCII) más comunes.

Sintaxis

trimLeft(input[, trim_characters])

Alias: ltrim

Argumentos

  • input — Cadena a recortar. String
  • trim_characters — Opcional. Caracteres a recortar. Si no se especifican, se eliminan los caracteres de espacio en blanco habituales. String

Valor devuelto

Devuelve la cadena con los caracteres especificados eliminados del extremo izquierdo. String

Ejemplos

Ejemplo de uso

SELECT trimLeft('ClickHouse', 'Click');
┌─trimLeft('ClickHouse', 'Click')─┐
│ House                           │
└─────────────────────────────────┘

trimRight

Introducido en: v20.1.0

Elimina los caracteres especificados del final de una cadena. De forma predeterminada, elimina los caracteres comunes de espacios en blanco (ASCII).

Sintaxis

trimRight(s[, trim_characters])

Alias: rtrim

Argumentos

  • s — Cadena a recortar. String
  • trim_characters — Caracteres opcionales que se eliminarán. Si no se especifican, se eliminan los caracteres de espacio en blanco habituales. String

Valor devuelto

Devuelve la cadena con los caracteres especificados eliminados del extremo derecho. String

Ejemplos

Ejemplo de uso

SELECT trimRight('ClickHouse','House');
┌─trimRight('ClickHouse', 'House')─┐
│ Click                            │
└──────────────────────────────────┘

tryBase32Decode

Introducida en: v25.6.0

Acepta una cadena y la decodifica mediante el esquema de codificación Base32.

Sintaxis

tryBase32Decode(encoded)

Argumentos

  • encoded — Columna de tipo String o constante que se va a decodificar. Si la cadena no es una codificación Base32 válida, devuelve una cadena vacía en caso de error. String

Valor devuelto

Devuelve una cadena que contiene el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT tryBase32Decode('IVXGG33EMVSA====');
┌─tryBase32Decode('IVXGG33EMVSA====')─┐
│ Encoded                             │
└─────────────────────────────────────┘

tryBase58Decode

Introducido en: v22.10.0

Igual que base58Decode, pero devuelve una cadena vacía en caso de error.

Sintaxis

tryBase58Decode(encoded[, expected_size])

Argumentos

  • encoded — Columna de tipo String o constante. Si la cadena no está codificada en Base58 de forma válida, devuelve una cadena vacía en caso de error. String
  • expected_size — Opcional. Tamaño esperado de la decodificación en bytes. Cuando es 32 o 64, se usa un decodificador optimizado; para otros valores, se usa el decodificador genérico. UInt8, UInt16, UInt32 o UInt64

Valor devuelto

Devuelve una cadena que contiene el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT tryBase58Decode('3dc8KtHrwM') AS res, tryBase58Decode('invalid') AS res_invalid;
┌─res─────┬─res_invalid─┐
│ Encoded │             │
└─────────┴─────────────┘

tryBase64Decode

Introducido en: v18.16.0

Igual que base64Decode, pero devuelve una cadena vacía en caso de error.

Sintaxis

tryBase64Decode(encoded)

Argumentos

  • encoded — Columna o constante de tipo String que se va a decodificar. Si la cadena no está codificada en Base64 de forma válida, devuelve una cadena vacía en caso de error. String

Valor devuelto

Devuelve una cadena que contiene el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT tryBase64Decode('Y2xpY2tob3VzZQ==')
┌─tryBase64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                          │
└─────────────────────────────────────┘

tryBase64URLDecode

Introducido en: v18.16.0

Igual que base64URLDecode, pero devuelve una cadena vacía en caso de error.

Sintaxis

tryBase64URLDecode(encoded)

Argumentos

  • encoded — columna String o constante que se va a decodificar. Si la cadena no es una codificación Base64 válida, devuelve una cadena vacía en caso de error. String

Valor devuelto

Devuelve una cadena que contiene el valor decodificado del argumento. String

Ejemplos

Ejemplo de uso

SELECT tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
┌─tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                               │
└──────────────────────────────────────────────────────┘

tryIdnaEncode

Introducido en: v24.1.0

Devuelve la representación Unicode (UTF-8) (algoritmo ToUnicode) de un nombre de dominio según el mecanismo Internationalized Domain Names in Applications (IDNA). En caso de error, devuelve una cadena vacía en lugar de lanzar una excepción.

Sintaxis

tryIdnaEncode(s)

Argumentos

  • s — Cadena de entrada. String

Valor devuelto

Devuelve una representación ASCII de la cadena de entrada conforme al mecanismo IDNA del valor de entrada, o una cadena vacía si la entrada no es válida. String

Ejemplos

Ejemplo de uso

SELECT tryIdnaEncode('straße.münchen.de')
┌─tryIdnaEncode('straße.münchen.de')─┐
│ xn--strae-oqa.xn--mnchen-3ya.de    │
└────────────────────────────────────┘

tryPunycodeDecode

Introducido en: v24.1.0

Como punycodeDecode, pero devuelve una cadena vacía si no se proporciona una cadena codificada en Punycode válida.

Sintaxis

tryPunycodeDecode(s)

Argumentos

  • s — Cadena codificada en Punycode. String

Valor devuelto

Devuelve el texto plano del valor de entrada, o una cadena vacía si la entrada no es válida. String

Ejemplos

Ejemplo de uso

SELECT tryPunycodeDecode('Mnchen-3ya')
┌─tryPunycodeDecode('Mnchen-3ya')─┐
│ München                         │
└─────────────────────────────────┘

upper

Introducido en: v1.1.0

Convierte a mayúsculas los caracteres latinos ASCII de una cadena.

Sintaxis

upper(s)

Alias: ucase

Argumentos

  • s — La cadena que se convertirá a mayúsculas. String

Valor devuelto

Devuelve una cadena en mayúsculas a partir de s. String

Ejemplos

Ejemplo de uso

SELECT upper('clickhouse')
┌─upper('clickhouse')─┐
│ CLICKHOUSE          │
└─────────────────────┘

upperUTF8

Introducido en: v1.1.0

Convierte una cadena a mayúsculas, suponiendo que contiene texto válido codificado en UTF-8. Si no se cumple esta condición, no se lanza ninguna excepción y el resultado es indefinido.

Sintaxis

upperUTF8(s)

Argumentos

  • s — Un tipo String. String

Valor devuelto

Un valor de tipo de dato String. String

Ejemplos

Ejemplo de uso

SELECT upperUTF8('München') AS Upperutf8
┌─Upperutf8─┐
│ MÜNCHEN   │
└───────────┘
Navigation