La documentación siguiente se genera a partir de la tabla del sistema
system.functions.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 inicial0xffffffff (implementación de zlib).
Sintaxis
s— Cadena para la que se calcula CRC32.String
UInt32
Ejemplos
Ejemplo de uso
Query
Response
CRC32IEEE
Introducida en: v20.1.0 Calcula la suma de comprobación CRC32 de una cadena utilizando el polinomio CRC-32-IEEE 802.3. Sintaxiss— Cadena para la que se calcula CRC32.String
UInt32
Ejemplos
Ejemplo de uso
Query
Response
CRC64
Introducido en: v20.1.0 Calcula la suma de comprobación CRC64 de una cadena utilizando el polinomio CRC-64-ECMA. Sintaxiss— Cadena para la que se calcula CRC64.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
appendTrailingCharIfAbsent
Introducido en: v1.1.0 Añade el carácterc a la cadena s si s no está vacía y no termina con el carácter c.
Sintaxis
s con el carácter c añadido si s no termina en c. String
Ejemplos
Ejemplo de uso
Query
Response
ascii
Introducido en: v22.11.0 Devuelve el punto de código ASCII del primer carácter de la cadenas como un valor Int32.
Sintaxis
s— Cadena de entrada.String
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
Query
Response
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. Sintaxisencoded— columna de tipo String o constante.String
String
Ejemplos
Ejemplo de uso
Query
Response
base32Encode
Introducido en: v25.6.0 Codifica una cadena en Base32. Sintaxisplaintext— texto plano que se va a codificar.String
String o FixedString
Ejemplos
Ejemplo de uso
Query
Response
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 exigir un tamaño decodificado: una entrada que
no se decodifique en exactamente esa cantidad de bytes se rechaza y la función lanza una excepción (o
devuelve una cadena vacía en tryBase58Decode). El requisito se aplica a cualquier tamaño y 0 significa
que no hay ningún requisito.
Sintaxis
encoded— ColumnaStringo constante para decodificar.Stringexpected_size— Opcional. Tamaño requerido del valor decodificado en bytes: se rechaza una entrada que se decodifique a cualquier otro tamaño.0no impone ningún requisito.UInt8, UInt16, UInt32, or UInt64
String
Ejemplos
Ejemplo de uso
Query
Response
base58Encode
Introducido en: v22.7.0 Codifica una cadena en Base58. Sintaxisplaintext— texto plano que se va a codificar.String
String
Ejemplos
Ejemplo de uso
Query
Response
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
FROM_BASE64
Argumentos
encoded— ColumnaStringo constante que se debe decodificar. Si la cadena no está codificada en Base64 de forma válida, se genera una excepción.String
String
Ejemplos
Ejemplo de uso
Query
Response
base64Encode
Introducido en: v18.16.0 Codifica una cadena en formato Base64, según la RFC 4648. SintaxisTO_BASE64
Argumentos
plaintext— Columna o constante de texto plano que se va a decodificar.String
String
Ejemplos
Ejemplo de uso
Query
Response
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
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
String
Ejemplos
Ejemplo de uso
Query
Response
base64URLEncode
Introducido en: v18.16.0 Codifica una cadena utilizando la representación Base64 (RFC 4648) con un alfabeto apto para URL. Sintaxisplaintext— Columna o constante de texto plano para codificar.String
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisexpr— Una expresión de tipo cadena. Las barras invertidas deben escaparse.String
String
Ejemplos
Extraer el nombre de archivo de una ruta de Unix
Query
Response
Query
Response
Query
Response
byteHammingDistance
Introducido en: v23.9.0 Calcula la distancia de Hamming entre dos cadenas de bytes. Sintaxismismatches
Argumentos
Valor devuelto
Devuelve la distancia de Hamming entre ambas cadenas. UInt64
Ejemplos
Ejemplo de uso
Query
Response
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, comoffi, siguen descomponiéndose porque el propio case folding de Unicode las expande.
Sintaxis
str— Cadena de entrada codificada en UTF-8.String
String
Ejemplos
Normalización básica de mayúsculas y minúsculas
Query
Response
compareSubstrings
Introducido en: v25.2.0 Compara dos cadenas en orden lexicográfico. Sintaxiss1— La primera cadena que se comparará.Strings2— La segunda cadena que se comparará.Strings1_offset— La posición (indexada desde cero) ens1a partir de la cual comienza la comparación.UInt*s2_offset— La posición (índice basado en cero) ens2a partir de la cual comienza la comparación.UInt*num_bytes— El número máximo de bytes que se comparará en ambas cadenas. Sis1_offset(os2_offset) +num_bytessupera el final de una cadena de entrada,num_bytesse reducirá en consecuencia.UInt*
-1sis1[s1_offset:s1_offset+num_bytes] <s2[s2_offset:s2_offset+num_bytes].0sis1[s1_offset:s1_offset+num_bytes] =s2[s2_offset:s2_offset+num_bytes].1sis1[s1_offset:s1_offset+num_bytes] >s2[s2_offset:s2_offset+num_bytes].Int8
Query
Response
concat
Introducido en: v1.1.0 Concatena los argumentos especificados. Los argumentos que no son de tipoString 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
s1, s2, ...— Cualquier cantidad de valores de cualquier tipo.Any
NULL, la función devuelve NULL. Si no hay argumentos, devuelve una cadena vacía. Nullable(String)
Ejemplos
Concatenación de cadenas
Query
Response
Query
Response
concatAssumeInjective
Introducido en: v1.1.0 Comoconcat, 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
s1, s2, ...— Cualquier cantidad de valores de tipo arbitrario.StringoFixedString
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
Query
Response
concatWithSeparator
Introducido en: v22.12.0 Concatena las cadenas proporcionadas, separadas por el separador especificado. Sintaxisconcat_ws
Argumentos
sep— El separador que se usará.const Stringoconst FixedStringexp1, exp2, ...— Expresiones que se concatenarán. Los argumentos que no sean de tipoStringoFixedStringse convierten en cadenas mediante su serialización predeterminada. Como esto reduce el rendimiento, no se recomienda usar argumentos distintos deString/FixedString.Any
NULL, la función devuelve NULL. String
Ejemplos
Ejemplo de uso
Query
Response
concatWithSeparatorAssumeInjective
Introducido en: v22.12.0 ComoconcatWithSeparator, 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
sep— El separador que se va a utilizar.const Stringoconst FixedStringexp1, exp2, ...— Expresión que se va a concatenar. Los argumentos que no sean de tipoStringoFixedStringse convierten en cadenas mediante su serialización predeterminada. Como esto reduce el rendimiento, no se recomienda usar argumentos que no seanString/FixedString.StringoFixedString
NULL, la función devuelve NULL. String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisnumber— 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.
Query
Response
Query
Response
Query
Response
Query
Response
convertCharset
Introducido en: v1.1.0 Devuelve la cadenas convertida desde la codificación from a la codificación to.
Sintaxis
s— Cadena de entrada.Stringfrom— Codificación de caracteres de origen.Stringto— Codificación de caracteres de destino.String
s convertida de la codificación from a to. String
Ejemplos
Ejemplo de uso
Query
Response
damerauLevenshteinDistance
Introducido en: v24.1.0 Calcula la distancia de Damerau-Levenshtein entre dos cadenas de bytes. SintaxisUInt64
Ejemplos
Ejemplo de uso
Query
Response
decodeHTMLComponent
Introducido en: v23.9.0 Decodifica las entidades HTML de una cadena y las convierte en sus caracteres correspondientes. Sintaxiss— Cadena que contiene entidades HTML que se deben decodificar.String
String
Ejemplos
Ejemplo de uso
Query
Response
decodeXMLComponent
Introducido en: v21.2.0 Decodifica las entidades XML de una cadena en sus caracteres correspondientes. Sintaxiss— Cadena que contiene entidades XML que se deben decodificar.String
String
Ejemplos
Ejemplo de uso
Query
Response
editDistance
Introducido en: v23.9.0 Calcula la distancia de edición entre dos cadena de bytes. SintaxislevenshteinDistance
Argumentos
Valor devuelto
Devuelve la distancia de edición entre ambas cadenas. UInt64
Ejemplos
Ejemplo de uso
Query
Response
editDistanceUTF8
Introducido en: v24.6.0 Calcula la distancia de edición entre dos cadenas en UTF-8. SintaxislevenshteinDistanceUTF8
Argumentos
Valor devuelto
Devuelve la distancia de edición entre las dos cadenas UTF-8. UInt64
Ejemplos
Ejemplo de uso
Query
Response
encodeXMLComponent
Introducido en: v21.1.0 Escapa caracteres para insertar una cadena en un nodo de texto XML o en un atributo. Sintaxiss— Cadena que se debe escapar.String
String
Ejemplos
Ejemplo de uso
Query
Response
endsWith
Introducido en: v1.1.0 Comprueba si una cadena termina con el sufijo indicado. Sintaxis1 si s termina con suffix; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
endsWithCaseInsensitive
Introducido en: v25.10.0 Verifica si una cadena termina con el sufijo especificado sin distinguir entre mayúsculas y minúsculas. Sintaxiss— Cadena que se va a comprobar.Stringsuffix— Sufijo sin distinguir entre mayúsculas y minúsculas que se va a comprobar.String
1 si s termina con el suffix sin distinguir entre mayúsculas y minúsculas; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
endsWithCaseInsensitiveUTF8
Introducido en: v25.10.0 Devuelve si la cadenas 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
s— String que se debe comprobar.Stringsuffix— Sufijo que se debe comprobar sin distinguir entre mayúsculas y minúsculas.String
1 si s termina con el suffix sin distinguir entre mayúsculas y minúsculas; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
endsWithUTF8
Introducido en: v23.8.0 Devuelve si la cadenas 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
1 si s termina con suffix; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
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
html— Cadena con contenido HTML del que se extrae el texto.String
String
Ejemplos
Ejemplo de uso
Query
Response
firstLine
Introducido en: v23.7.0 Devuelve la primera línea de una cadena multilínea. Sintaxiss— Cadena de entrada.String
String
Ejemplos
Ejemplo de uso
Query
Response
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 deidnaEncode() y idnaDecode() no devuelve necesariamente la cadena original debido a la normalización de mayúsculas y minúsculas.
Sintaxis
s— Cadena de entrada.String
String
Ejemplos
Ejemplo de uso
Query
Response
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.No se realiza ninguna decodificación de porcentajes ni se eliminan tabulaciones, espacios o caracteres de control.
s— Cadena de entrada.String
String
Ejemplos
Ejemplo de uso
Query
Response
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.Como
initcap solo convierte a mayúscula la primera letra de cada palabra, es posible que observe un comportamiento inesperado en palabras que contienen apóstrofos o letras mayúsculas.
Este es un comportamiento conocido y actualmente no está previsto corregirlo.s— Cadena de entrada.String
s con la primera letra de cada palabra en mayúscula. String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
initcapUTF8
Introducido en: v23.7.0 Al igual queinitcap, 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.
Esta función no detecta el idioma; por ejemplo, para el turco, el resultado podría no ser exactamente correcto (i/İ vs. i/I).
Si la longitud de la secuencia de bytes UTF-8 difiere entre las formas en mayúsculas y minúsculas de un punto de código, el resultado puede ser incorrecto para ese punto de código.
s— Cadena de entrada.String
s con la primera letra de cada palabra en mayúscula. String
Ejemplos
Ejemplo de uso
Query
Response
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). SintaxisisASCII
Argumentos
- Ninguno.
Query
Response
isValidUTF8
Introducido en: v20.1.0 Comprueba si la secuencia de bytes forma un texto válido codificado en UTF-8. Sintaxiss— La cadena cuya validez de codificación UTF-8 se comprobará.String
1 si el conjunto de bytes constituye texto válido codificado en UTF-8; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
jaroSimilarity
Introducido en: v24.1.0 Calcula la similitud de Jaro entre dos cadenas de bytes. SintaxisFloat64
Ejemplos
Ejemplo de uso
Query
Response
jaroWinklerSimilarity
Introducido en: v24.1.0 Calcula la similitud de Jaro-Winkler entre dos cadenas de bytes. SintaxisFloat64
Ejemplos
Ejemplo de uso
Query
Response
left
Introducido en: v22.1.0 Devuelve una subcadena de la cadenas con un offset especificado, a partir de la izquierda.
Sintaxis
s— La cadena a partir de la cual se calcula una subcadena.StringoFixedStringoffset— La cantidad de bytes de desplazamiento.(U)Int*
- Para
offsetpositivo, una subcadena desdeoffsetbytes, empezando por la izquierda de la cadena. - Para
offsetnegativo, una subcadena desdelength(s) - |offset|bytes, empezando por la izquierda de la cadena. - Una cadena vacía si
lengthes0.String
Query
Response
Query
Response
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 lalength especificada.
Sintaxis
lpad
Argumentos
string— Cadena de entrada que debe rellenarse.Stringlength— Longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta alengthcaracteres.(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
String
Ejemplos
Ejemplo de uso
Query
Response
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 deleftPad, que mide la longitud de la cadena en bytes, aquí la longitud de la cadena se mide en puntos de código.
Sintaxis
string— Cadena de entrada que se debe rellenar.Stringlength— La longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta alengthcaracteres.(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
String
Ejemplos
Ejemplo de uso
Query
Response
leftUTF8
Introducido en: v22.1.0 Devuelve una subcadena de una cadenas codificada en UTF-8, con un offset especificado desde la izquierda.
Sintaxis
s— La cadena codificada en UTF-8 a partir de la cual se calcula una subcadena.StringoFixedStringoffset— El desplazamiento en bytes.(U)Int*
- Para un
offsetpositivo, una subcadena desdeoffsetbytes, empezando desde la izquierda de la cadena.\n” - Para un
offsetnegativo, una subcadena desdelength(s) - |offset|bytes, empezando desde la izquierda de la cadena.\n” - Una cadena vacía si
lengthes 0.String
Query
Response
Query
Response
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ónlength.
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
CHARACTER_LENGTH, CHAR_LENGTH
Argumentos
s— Cadena que contiene texto codificado en UTF-8 válido.String
s en puntos de código Unicode. UInt64
Ejemplos
Ejemplo de uso
Query
Response
lower
Introducido en: v1.1.0 Convierte una cadena ASCII en minúsculas. Sintaxislcase
Argumentos
s— Una cadena para convertir a minúsculas.String
s en minúsculas. String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisinput— Cadena de entrada que se convierte a minúsculas.String
String
Ejemplos
primero
Query
Response
naturalSortKey
Introducido en: v26.3.0 La función se utiliza para realizar una ordenación natural. SintaxisNATURAL_SORT_KEY
Argumentos
s— Una cadena para convertirla en una clave de ordenación natural.String
s. String
Ejemplos
Ejemplo de uso
Query
Response
normalizeUTF8NFC
Introducida en: v21.11.0 Normaliza una cadena UTF-8 de acuerdo con la forma de normalización NFC. Sintaxisstr— cadena de entrada codificada en UTF-8.String
String
Ejemplos
Ejemplo de uso
Query
Response
normalizeUTF8NFD
Introducido en: v21.11.0 Normaliza una cadena UTF-8 según la forma de normalización NFD. Sintaxisstr— cadena de entrada codificada en UTF-8.String
String
Ejemplos
Ejemplo de uso
Query
Response
normalizeUTF8NFKC
Introducido en: v21.11.0 Normaliza una cadena en UTF-8 según la forma de normalización NFKC. Sintaxisstr— cadena de entrada codificada en UTF-8.String
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisstr— cadena de entrada codificada en UTF-8.String
String
Ejemplos
Ejemplo de uso
Query
Response
normalizeUTF8NFKD
Introducido en: v21.11.0 Normaliza una cadena UTF-8 de acuerdo con la forma de normalización NFKD. Sintaxisstr— Cadena de entrada codificada en UTF-8.String
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxiss— Cadena codificada en Punycode.String
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxiss— Valor de entrada.String
String
Ejemplos
Ejemplo de uso
Query
Response
regexpExtract
Introducido en: v23.2.0 Extrae la primera cadena dehaystack que coincide con el patrón de expresión regular y corresponde al índice del grupo de la expresión regular.
Sintaxis
REGEXP_EXTRACT, REGEXP_SUBSTR
Argumentos
haystack— String, donde se buscará la coincidencia con el patrón regexp.Stringpattern— String, expresión regular.patternpuede contener varios grupos regexp;indexindica qué grupo de la expresión regular se extraerá. Un índice de0significa que se extrae la coincidencia de la expresión regular completa.const Stringindex— Opcional. Un entero no negativo que indica qué grupo de la expresión regular se extraerá. El valor predeterminado es1sipatterncontiene al menos un grupo de captura, y0(la coincidencia completa) sipatternno tiene ningún grupo de captura.(U)Int*
String
Ejemplos
Ejemplo de uso
Query
Response
regexpPosition
Introducido en: v26.5.0 Devuelve la posición en bytes (basada en 1) de la coincidencia númerooccurrence 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
regexpInstr, regexp_instr
Argumentos
haystack— Cadena en la que buscar.Stringpattern— Patrón de expresión regular.const Stringposition— 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 Stringsubexpression— Opcional. Índice del grupo de captura cuya posición se devolverá. 0 significa la coincidencia completa. Valor predeterminado: 0.(U)Int*
UInt64
Ejemplos
Uso básico
Query
Response
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. SintaxisremoveAccentsUTF8
Argumentos
str— cadena de entrada codificada en UTF-8.String
String
Ejemplos
Eliminación básica de acentos
Query
Response
repeat
Introducido en: v20.1.0 Concatena una cadena consigo misma tantas veces como se indique. Sintaxiss— La cadena que se debe repetir.Stringn— El número de veces que se debe repetir la cadena.(U)Int*
s repetida n veces. Si n es negativo, la función devuelve una cadena vacía. String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxiss— Cadena que contiene texto válido codificado en UTF-8.String
String
Ejemplos
Ejemplo de uso
Query
Response
right
Introducido en: v22.1.0 Devuelve una subcadena de la cadenas con un offset especificado a partir de la derecha.
Sintaxis
s— La cadena a partir de la cual se calculará una subcadena.StringoFixedStringoffset— El número de bytes de desplazamiento.(U)Int*
- Para un
offsetpositivo, una subcadena desdeoffsetbytes, empezando por la derecha de la cadena. - Para un
offsetnegativo, una subcadena desdelength(s) - |offset|bytes, empezando por la derecha de la cadena. - Una cadena vacía si
lengthes0.String
Query
Response
Query
Response
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 lalength especificada.
Sintaxis
rpad
Argumentos
string— Cadena de entrada que se debe rellenar.Stringlength— La longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta alengthcaracteres.(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
String
Ejemplos
Ejemplo de uso
Query
Response
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 derightPad, que mide la longitud de la cadena en bytes, aquí la longitud de la cadena se mide en puntos de código.
Sintaxis
string— Cadena de entrada que se debe rellenar.Stringlength— La longitud de la cadena resultante. Si el valor es menor que la longitud de la cadena de entrada, esta se acorta alengthcaracteres.(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
String
Ejemplos
Ejemplo de uso
Query
Response
rightUTF8
Introducido en: v22.1.0 Devuelve una subcadena de la cadenas, codificada en UTF-8, con un offset especificado desde la derecha.
Sintaxis
s— La cadena codificada en UTF-8 de la que se calcula una subcadena.StringoFixedStringoffset— El número de bytes del desplazamiento.(U)Int*
- Para
offsetpositivo, una subcadena desdeoffsetbytes, empezando por la derecha de la cadena. - Para
offsetnegativo, una subcadena desdelength(s) - |offset|bytes, empezando por la derecha de la cadena. - Una cadena vacía si
lengthes0.String
Query
Response
Query
Response
soundex
Introducido en: v23.4.0 Devuelve el código Soundex de una cadena. Sintaxiss— Cadena de entrada.String
String
Ejemplos
Ejemplo de uso
Query
Response
space
Introducido en: v23.5.0 Concatena un espacio ( ) consigo mismo tantas veces como se indique.
Sintaxis
n— El número de veces que se repite el carácter de espacio.(U)Int*
n veces. Si n <= 0, la función devuelve la cadena vacía. String
Ejemplos
Ejemplo de uso
Query
Response
sparseGrams
Introducido en: v25.5.0 Encuentra todas las subcadenas de una cadena dada que tengan una longitud de al menosn,
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
s— Una cadena de entrada.Stringmin_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 quemin_ngram_length.UInt*min_cutoff_length— Opcional. Si se especifica, solo se devuelven n-gramas cuya longitud sea mayor o igual quemin_cutoff_length. El valor predeterminado es el mismo quemin_ngram_length. No debe ser menor quemin_ngram_lengthni mayor quemax_ngram_length.UInt*
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
sparseGramsHashes
Introducido en: v25.5.0 Encuentra los valores hash de todas las subcadenas de una cadena dada que tengan una longitud de al menosn,
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
s— Una cadena de entrada.Stringmin_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 amin_ngram_length.UInt*min_cutoff_length— Opcional. Si se especifica, solo se devuelven los ngramas con una longitud mayor o igual quemin_cutoff_length. El valor predeterminado es el mismo quemin_ngram_length. No debe ser inferior amin_ngram_lengthni superior amax_ngram_length.UInt*
Array(UInt32)
Ejemplos
Ejemplo de uso
Query
Response
sparseGramsHashesUTF8
Introducido en: v25.5.0 Encuentra los hashes de todas las subcadenas de una cadena UTF-8 dada con una longitud de al menosn, 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
s— Una cadena de entrada.Stringmin_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 amin_ngram_length.UInt*min_cutoff_length— Opcional. Si se especifica, solo se devuelven n-gramas con una longitud igual o mayor quemin_cutoff_length. El valor predeterminado es el mismo quemin_ngram_length. No debe ser inferior amin_ngram_lengthni superior amax_ngram_length.UInt*
Array(UInt32)
Ejemplos
Ejemplo de uso
Query
Response
sparseGramsUTF8
Introducido en: v25.5.0 Encuentra todas las subcadenas de una cadena UTF-8 dada que tengan una longitud de al menosn, 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
s— Una cadena de entrada.Stringmin_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 amin_ngram_length.UInt*min_cutoff_length— Opcional. Si se especifica, solo se devuelven los ngramas con una longitud mayor o igual quemin_cutoff_length. El valor predeterminado es el mismo quemin_ngram_length. No debe ser inferior amin_ngram_lengthni superior amax_ngram_length.UInt*
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
startsWith
Introducido en: v1.1.0 Comprueba si una cadena empieza por la cadena proporcionada. Sintaxis1 si s comienza con prefix; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
startsWithCaseInsensitive
Introducido en: v25.10.0 Comprueba si una cadena empieza por la cadena proporcionada sin distinguir entre mayúsculas y minúsculas. Sintaxiss— Cadena que se comprobará.Stringprefix— Prefijo sin distinción entre mayúsculas y minúsculas que se comprobará.String
1 si s comienza por el prefix sin distinguir entre mayúsculas y minúsculas; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxiss— Cadena que se debe comprobar.Stringprefix— Prefijo, sin distinguir entre mayúsculas y minúsculas, cuya coincidencia se debe comprobar.String
1 si s empieza por prefix sin distinguir entre mayúsculas y minúsculas; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxis1 si s empieza por prefix; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
stringBytesEntropy
Introducido en: v25.6.0 Calcula la entropía de Shannon de la distribución de bytes de una cadena. Sintaxiss— La cadena que se va a analizar.String
Float64
Ejemplos
Ejemplo de uso
Query
Response
stringBytesUniq
Introducido en: v25.6.0 Cuenta el número de bytes distintos de una cadena. Sintaxiss— La cadena que se analizará.String
UInt16
Ejemplos
Ejemplo de uso
Query
Response
stringJaccardIndex
Introducido en: v23.11.0 Calcula el índice de similitud de Jaccard entre dos cadenas de bytes. SintaxisFloat64
Ejemplos
Ejemplo de uso
Query
Response
stringJaccardIndexUTF8
Introducido en: v23.11.0 Igual questringJaccardIndex, pero para cadenas codificadas en UTF-8.
Sintaxis
Float64
Ejemplos
Ejemplo de uso
Query
Response
substring
Introducido en: v1.1.0 Devuelve la subcadena de una cadenas que comienza en el índice de bytes offset especificado.
El recuento de bytes comienza en 1 con la siguiente lógica:
- Si
offsetes0, se devuelve una cadena vacía. - Si
offsetes negativo, la subcadena comienzaoffsetcaracteres desde el final de la cadena, en lugar de hacerlo desde el principio.
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
byteSlice, mid, substr
Argumentos
s— La cadena de la que se extrae una subcadena.StringoFixedStringoEnumoffset— La posición inicial de la subcadena ens.(U)Int*length— Opcional. La longitud máxima de la subcadena.(U)Int*
s de length bytes, a partir del índice offset. String
Ejemplos
Uso básico
Query
Response
substringIndex
Introducido en: v23.7.0 Devuelve la subcadena des situada antes de la count-ésima aparición del delimitador delim, como en Spark o MySQL.
Sintaxis
SUBSTRING_INDEX
Argumentos
s— La cadena de la que se extrae la subcadena.Stringdelim— El carácter delimitador.Stringcount— El número de apariciones del delimitador que se cuentan antes de extraer la subcadena. Sicountes positivo, se devuelve todo lo que está a la izquierda del delimitador final (contando desde la izquierda). Sicountes negativo, se devuelve todo lo que está a la derecha del delimitador final (contando desde la derecha).UIntoInt
s situada antes de count apariciones de delim. String
Ejemplos
Ejemplo de uso
Query
Response
substringIndexUTF8
Introducido en: v23.7.0 Devuelve la subcadena des 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
s— La cadena de la que se extrae la subcadena.Stringdelim— El carácter delimitador.Stringcount— El número de apariciones del delimitador que se cuentan antes de extraer la subcadena. Sicountes positivo, se devuelve todo lo que queda a la izquierda del delimitador final (contando desde la izquierda). Sicountes negativo, se devuelve todo lo que queda a la derecha del delimitador final (contando desde la derecha).UIntoInt
s situada antes de count apariciones de delim. String
Ejemplos
Ejemplo de UTF8
Query
Response
substringUTF8
Introducido en: v1.1.0 Devuelve la subcadena de una cadenas 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
offsetes0, se devuelve una cadena vacía. - Si
offsetes negativo, la subcadena comienzaoffsetpuntos de código antes del final de la cadena, en lugar de hacerlo desde el principio.
length, especifica el número máximo de puntos de código que puede tener la subcadena devuelta.
Esta función 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.
s— La cadena de la que se extraerá una subcadena.StringoFixedStringoEnumoffset— La posición inicial de la subcadena ens.IntoUIntlength— La longitud máxima de la subcadena. Opcional.IntoUInt
s de hasta length puntos de código, a partir del índice de punto de código offset. String
Ejemplos
Ejemplo de uso
Query
Response
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
s— Cualquier conjunto de bytes representado como un objeto del tipo de dato String.String
String
Ejemplos
Ejemplo de uso
Query
Response
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). Sintaxistrim
Argumentos
s— Cadena que se recortará.Stringtrim_characters— Opcional. Caracteres que se recortarán. Si no se especifica, se eliminan los caracteres de espacio en blanco habituales.String
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisltrim
Argumentos
input— Cadena a recortar.Stringtrim_characters— Opcional. Caracteres a recortar. Si no se especifican, se eliminan los caracteres de espacio en blanco habituales.String
String
Ejemplos
Ejemplo de uso
Query
Response
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). Sintaxisrtrim
Argumentos
s— Cadena a recortar.Stringtrim_characters— Caracteres opcionales que se eliminarán. Si no se especifican, se eliminan los caracteres de espacio en blanco habituales.String
String
Ejemplos
Ejemplo de uso
Query
Response
tryBase32Decode
Introducida en: v25.6.0 Acepta una cadena y la decodifica mediante el esquema de codificación Base32. Sintaxisencoded— Columna de tipoStringo 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
String
Ejemplos
Ejemplo de uso
Query
Response
tryBase58Decode
Introducido en: v22.10.0 Igual quebase58Decode, pero devuelve una cadena vacía en caso de error.
Sintaxis
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.Stringexpected_size— Opcional. Tamaño requerido tras la decodificación, en bytes: se rechaza cualquier entrada que se decodifique a un tamaño distinto.0no impone ningún requisito.UInt8, UInt16, UInt32 o UInt64
String
Ejemplos
Ejemplo de uso
Query
Response
tryBase64Decode
Introducido en: v18.16.0 Igual quebase64Decode, pero devuelve una cadena vacía en caso de error.
Sintaxis
encoded— Columna o constante de tipoStringque 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
String
Ejemplos
Ejemplo de uso
Query
Response
tryBase64URLDecode
Introducido en: v18.16.0 Igual quebase64URLDecode, pero devuelve una cadena vacía en caso de error.
Sintaxis
encoded— columnaStringo 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
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxiss— Cadena de entrada.String
String
Ejemplos
Ejemplo de uso
Query
Response
tryPunycodeDecode
Introducido en: v24.1.0 ComopunycodeDecode, pero devuelve una cadena vacía si no se proporciona una cadena codificada en Punycode válida.
Sintaxis
s— Cadena codificada en Punycode.String
String
Ejemplos
Ejemplo de uso
Query
Response
upper
Introducido en: v1.1.0 Convierte a mayúsculas los caracteres latinos ASCII de una cadena. Sintaxisucase
Argumentos
s— La cadena que se convertirá a mayúsculas.String
s. String
Ejemplos
Ejemplo de uso
Query
Response
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.Esta función no detecta el idioma; por ejemplo, en turco, el resultado podría no ser del todo correcto (i/İ vs. i/I).
Si la longitud de la secuencia de bytes UTF-8 difiere entre mayúsculas y minúsculas para un punto de código (como
ẞ y ß), el resultado puede ser incorrecto para ese punto de código.s— Un tipo String.String
String
Ejemplos
Ejemplo de uso
Query
Response