La búsqueda sin distinguir mayúsculas de minúsculas sigue las reglas de uso de mayúsculas y minúsculas del inglés. Por ejemplo, la
i en mayúscula en inglés es
I, mientras que en turco es İ; los resultados para idiomas distintos del inglés pueden ser inesperados.haystack) y la cadena de búsqueda (denominada en esta sección needle) son texto codificado en un solo byte. Si no se cumple este supuesto,
no se lanza ninguna excepción y los resultados no están definidos. La búsqueda con cadenas codificadas en UTF-8 suele ofrecerse mediante variantes de función
independientes. Del mismo modo, si se usa una variante de función UTF-8 y las cadenas de entrada no son texto codificado en UTF-8, no se lanza ninguna excepción y los
resultados no están definidos. Tenga en cuenta que no se realiza ninguna normalización Unicode automática; no obstante, puede usar las funciones
normalizeUTF8*() para ello.
Las funciones generales de cadenas y las funciones para reemplazar en cadenas se describen por separado.
La documentación que aparece a continuación se genera a partir de la tabla del sistema
system.functions.countMatches
Comportamiento según la versiónEl comportamiento de esta función depende de la versión de ClickHouse:
- en las versiones < v25.6, la función deja de contar en la primera coincidencia vacía, aunque el patrón la permita.
- en las versiones >= 25.6, la función continúa ejecutándose cuando se produce una coincidencia vacía. El comportamiento heredado se puede restaurar mediante la configuración
count_matches_stop_at_empty_match = true;
UInt64
Ejemplos
Contar secuencias de dígitos
Query
Response
countMatchesCaseInsensitive
countMatches, pero realiza coincidencias sin distinguir entre mayúsculas y minúsculas.
Sintaxis
haystack— La cadena en la que se busca.Stringpattern— Patrón de expresión regular.const String
UInt64
Ejemplos
Recuento sin distinción entre mayúsculas y minúsculas
Query
Response
countSubstrings
needle en la cadena haystack.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda. String o Enum. -needle— Subcadena que se busca. String. -start_pos— Posición (basada en 1) dehaystacken la que comienza la búsqueda. UInt. Opcional.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
countSubstringsCaseInsensitive
countSubstrings, pero cuenta sin distinguir entre mayúsculas y minúsculas.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.StringoEnumneedle— Subcadena que se va a buscar.Stringstart_pos— Opcional. Posición (basada en 1) dehaystacken la que comienza la búsqueda.UInt*
needle en haystack. UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
countSubstringsCaseInsensitiveUTF8
countSubstrings, pero cuenta sin distinguir entre mayúsculas y minúsculas y asume que haystack es una cadena UTF-8.
Sintaxis
haystack— Cadena UTF-8 en la que se realiza la búsqueda.StringoEnumneedle— Subcadena que se va a buscar.Stringstart_pos— Opcional. Posición (basada en 1) dehaystacken la que comienza la búsqueda.UInt*
needle en haystack. UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
extract
haystack— Cadena de la que se extrae.Stringpattern— Expresión regular que normalmente contiene un grupo de captura.const String
String
Ejemplos
Extraer el dominio de un correo electrónico
Query
Response
Query
Response
extractAll
extract, pero devuelve un array con todas las coincidencias de una expresión regular en una cadena.
Si ‘haystack’ no coincide con la expresión regular ‘pattern’, se devuelve un array vacío.
Si la expresión regular tiene grupos de captura (subpatrones), la función hace coincidir la cadena de entrada con el primer grupo de captura.
Sintaxis
haystack— Cadena de la que se extraen fragmentos.Stringpattern— Expresión regular que puede contener grupos de captura.const String
Array(String)
Ejemplos
Extraer todos los números
Query
Response
Query
Response
extractAllGroupsHorizontal
s— Cadena de entrada de la que se extrae.StringoFixedStringregexp— Expresión regular con la que se realiza la coincidencia.const Stringoconst FixedString
Array(Array(String))
Ejemplos
Ejemplo de uso
Query
Response
extractGroups
extractAllGroupsHorizontal o extractAllGroupsVertical.
Sintaxis
s— Cadena de entrada de la que se extrae.StringoFixedStringregexp— Expresión regular. Debe contener al menos un grupo de captura. Constante.const Stringoconst FixedString
1 a N, donde N es el número de grupos de captura en regexp) de la primera coincidencia. Si no hay coincidencia, devuelve un array vacío. Array(String)
Ejemplos
Ejemplo de uso
Query
Response
hasAllTokens
hasAnyTokens, pero devuelve 1 si todos los tokens de la cadena o array needle coinciden con la cadena input, y 0 en caso contrario. Si input es una columna, devuelve todas las filas que satisfacen esta condición.
La columna
input debe tener definido un índice de texto para un rendimiento óptimo.
Si no se define ningún índice de texto, la función realiza un barrido exhaustivo de la columna, que es varios órdenes de magnitud más lento que una búsqueda mediante índice.- el argumento
input(siempre) y - el argumento
needle(si se pasa como String) usando el tokenizador especificado para el índice de texto. Si la columna no tiene definido ningún índice de texto, se usa en su lugar el tokenizadorsplitByNonAlpha. Si el argumentoneedlees de tipo Array(String), cada elemento del array se trata como un token; no se realiza ninguna tokenización adicional.
hasAllToken
Argumentos
input— La columna de entrada.StringoFixedStringoArray(String)oArray(FixedString)needles— tokens que se van a buscar.StringoArray(String)tokenizer— Tokenizador que se usará. Los argumentos válidos sonsplitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsyarray. Es opcional; si no se establece explícitamente, el valor predeterminado essplitByNonAlpha.const String
UInt8
Ejemplos
Uso básico con una aguja de tipo String
Query
Response
Query
Response
tokens
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
hasAnyTokens
needle coincide con la cadena input, y 0 en caso contrario. Si input es una columna, devuelve todas las filas que cumplen esta condición.
La columna
input debe tener definido un índice de texto para un rendimiento óptimo.
Si no se define ningún índice de texto, la función realiza un escaneo completo de la columna, que es varios órdenes de magnitud más lento que una búsqueda en un índice.- el argumento
input(siempre), y - el argumento
needle(si se proporciona como String) usando el tokenizador especificado para el índice de texto. Si la columna no tiene definido ningún índice de texto, se usa en su lugar el tokenizadorsplitByNonAlpha. Si el argumentoneedlees de tipo Array(String), cada elemento del array se trata como un token; no se realiza ninguna tokenización adicional.
hasAnyToken
Argumentos
input— La columna de entrada.StringoFixedStringoNullable(String)oNullable(FixedString)oArray(String)oArray(FixedString)oArray(Nullable(String))oArray(Nullable(FixedString))needles— tokens que se buscan.StringoArray(String)tokenizer— El tokenizador que se debe usar. Los argumentos válidos sonsplitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsyarray. Es opcional; si no se especifica explícitamente, el valor predeterminado essplitByNonAlpha.const String
1 si hubo al menos una coincidencia. 0 en caso contrario. UInt8
Ejemplos
Uso básico con una aguja de tipo String
Query
Response
Query
Response
tokens
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
hasPhrase
input como phrase mediante el tokenizer especificado como tercer argumento opcional.
El argumento tokenizer debe ser uno de splitByNonAlpha, splitByString, ngrams o asciiCJK.
Si no se especifica ningún tokenizer, se usará splitByNonAlpha de forma predeterminada.
A diferencia de hasToken, hasAnyTokens y hasAllTokens, hasPhrase requiere que los tokens aparezcan en el mismo orden
y sin ningún token entre medias. Por ejemplo, hasPhrase('the quick brown fox', 'quick fox') devuelve 0
porque “brown” aparece entre “quick” y “fox”.
Sintaxis
matchPhrase
Argumentos
input— La columna de entrada.StringoFixedStringphrase— La frase que se desea buscar.const Stringtokenizer— El tokenizador que se va a usar. Opcional; el valor predeterminado essplitByNonAlpha.const String
1 si la frase se encuentra como una secuencia consecutiva de tokens; en caso contrario, 0. UInt8
Ejemplos
Búsqueda por frase
Query
Response
Query
Response
hasSubsequence
1 si needle es una subsecuencia de haystack; 0 en caso contrario. UInt8
Ejemplos
Comprobación básica de subsecuencia
Query
Response
Query
Response
hasSubsequenceCaseInsensitive
hasSubsequence, pero busca sin distinguir entre mayúsculas y minúsculas.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.Stringneedle— Subsecuencia que se busca.String
needle es una subsecuencia de haystack; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
hasSubsequenceCaseInsensitiveUTF8
hasSubsequenceUTF8, pero busca sin distinguir entre mayúsculas y minúsculas.
Sintaxis
haystack— cadena codificada en UTF8 en la que se realiza la búsqueda.Stringneedle— subsecuencia codificada en UTF8 que se busca.String
needle es una subsecuencia de haystack, y 0 en caso contrario. UInt8
Ejemplos
Ejemplo de uso
Query
Response
hasSubsequenceUTF8
hasSubsequence, pero asume que el haystack y la subcadena buscada están codificadas en UTF-8.
Sintaxis
1 si needle es una subsecuencia de haystack; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
hasToken
[0-9A-Za-z_] (números, caracteres ASCII y guion bajo).
Sintaxis
haystack— haystack en la que se busca.Stringtoken— Token que se busca.const String
1 si se encuentra el token; de lo contrario, 0. UInt8
Ejemplos
Búsqueda de un token
Query
Response
hasTokenCaseInsensitive
- Ninguno.
hasTokenCaseInsensitiveOrNull
- Ninguno.
hasTokenOrNull
hasToken, pero devuelve NULL si el token no está bien formado.
Sintaxis
haystack— Cadena en la que se buscará. Debe ser constante.Stringtoken— Token que se debe buscar.const String
1 si se encuentra el token, 0 en caso contrario y NULL si el token tiene un formato no válido. Nullable(UInt8)
Ejemplos
Ejemplo de uso
Query
Response
highlight
haystack— El texto en el que se busca.StringoFixedStringneedles— Un array de términos de búsqueda que se resaltarán.const Array(String)open_tag— La etiqueta de apertura que se inserta antes de cada coincidencia. Valor predeterminado:<em>.const Stringclose_tag— La etiqueta de cierre que se inserta después de cada coincidencia. Valor predeterminado:</em>.const String
String
Ejemplos
Resaltado básico
Query
Response
Query
Response
ilike
like, pero busca sin distinguir entre mayúsculas y minúsculas.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.StringoFixedStringpattern— Patrón LIKE con el que se debe coincidir.String
1 si la cadena coincide con el patrón LIKE (sin distinción entre mayúsculas y minúsculas); en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
like
haystack coincide con la expresión LIKE pattern.
Una expresión LIKE puede contener caracteres normales y los siguientes metasímbolos:
%indica una cantidad arbitraria de caracteres arbitrarios (incluidos cero caracteres)._indica un único carácter arbitrario.\sirve para escapar los literales%,_y\.
_ coincide con el punto de código Unicode ¥, que en UTF-8 se representa con dos bytes.
Si haystack o la expresión LIKE no son UTF-8 válidos, el comportamiento es indefinido.
No se realiza ninguna normalización Unicode automática; para ello, puede usar las funciones normalizeUTF8*.
Para hacer coincidir los caracteres literales %, _ y \ (que son metacaracteres de LIKE), antepóngales una barra invertida: \%, \_ y \\.
La barra invertida pierde su significado especial (es decir, se interpreta literalmente) si precede a un carácter distinto de %, _ o \.
ClickHouse requiere que las barras invertidas en las cadenas también se escapen, por lo que en realidad tendría que escribir
\\%, \\_ y \\\\.LIKE de la forma %needle%, la función es tan rápida como la función position.
Todas las demás expresiones LIKE se convierten internamente en una expresión regular y se ejecutan con un rendimiento similar al de la función match.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.StringoFixedStringpattern— PatrónLIKEcon el que se compara. Puede contener%(coincide con cualquier número de caracteres),_(coincide con un solo carácter) y\como carácter de escape.String
1 si la cadena coincide con el patrón LIKE; en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
locate
position, pero con los argumentos haystack y locate intercambiados.
Comportamiento según la versiónEl comportamiento de esta función depende de la versión de ClickHouse:
- en las versiones < v24.3,
locateera un alias de la funciónpositiony aceptaba los argumentos(haystack, needle[, start_pos]). - en las versiones >= 24.3,
locatees una función independiente (para mejorar la compatibilidad con MySQL) y acepta los argumentos(needle, haystack[, start_pos]). El comportamiento anterior puede restaurarse usando el ajustefunction_locate_has_mysql_compatible_argument_order = false.
needle— needle que se debe buscar.Stringhaystack— Cadena en la que se realiza la búsqueda.StringoEnumstart_pos— Opcional. Posición (a partir de 1) enhaystackdonde comienza la búsqueda.UInt
0 si no se encontró. UInt64
Ejemplos
Uso básico
Query
Response
match
¥ usa dos bytes internamente, pero la coincidencia lo trata como un único punto de código.
La expresión regular no debe contener bytes NULL.
Si el haystack o el patrón no son UTF-8 válidos, el comportamiento no está definido.
A diferencia del comportamiento predeterminado de re2, . coincide con los saltos de línea. Para desactivarlo, antepón (?-s) al patrón.
El patrón no está anclado. Para hacer coincidir toda la cadena, ancla tú mismo el patrón con ^ y $.
Si solo quieres buscar substrings, puedes usar en su lugar las funciones like o position, que son mucho más rápidas que esta función.
Sintaxis alternativa del operador: haystack REGEXP pattern.
Sintaxis
REGEXP_MATCHES
Argumentos
haystack— Cadena en la que se busca el patrón.Stringpattern— Patrón de expresión regular.const String
1 si el patrón coincide, 0 en caso contrario. UInt8
Ejemplos
Coincidencia de patrones básica
Query
Response
Query
Response
Query
Response
multiFuzzyMatchAllIndices
multiFuzzyMatchAny, pero devuelve el array con todos los índices, en cualquier orden, que coinciden con la cadena de búsqueda dentro de una distancia de edición constante.
Sintaxis
haystack— String en la que se realiza la búsqueda.Stringdistance— La distancia de edición máxima para la coincidencia difusa.UInt8pattern— Array de patrones con los que se realiza la coincidencia.Array(String)
haystack dentro de la distancia de edición especificada, en cualquier orden. Devuelve un array vacío si no se encuentra ninguna coincidencia. Array(UInt64)
Ejemplos
Ejemplo de uso
Query
Response
multiFuzzyMatchAny
multiMatchAny, pero devuelve 1 si algún patrón coincide con el haystack dentro de una distancia de edición constante.
Esta función se basa en una característica experimental de la biblioteca hyperscan y puede resultar lenta en determinados casos extremos.
El rendimiento depende del valor de la distancia de edición y de los patrones utilizados, pero su coste siempre es mayor que el de las variantes no difusas.
La familia de funciones
multiFuzzyMatch*() no admite expresiones regulares UTF-8 (las trata como una secuencia de bytes) debido a las restricciones de hyperscan.haystack— haystack donde se realiza la búsqueda.Stringdistance— La distancia máxima de edición para la coincidencia difusa.UInt8pattern— Opcional. Un array de patrones con los que buscar coincidencias.Array(String)
1 si algún patrón coincide con el haystack dentro de la distancia de edición especificada; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
multiFuzzyMatchAnyIndex
multiFuzzyMatchAny, pero devuelve cualquier índice que coincida con el haystack dentro de una distancia de edición constante.
Sintaxis
haystack— haystack en la que se realiza la búsqueda.Stringdistance— La distancia de edición máxima para la coincidencia difusa.UInt8pattern— Array de patrones con los que se compara.Array(String)
haystack dentro de la distancia de edición especificada; en caso contrario, 0. UInt64
Ejemplos
Ejemplo de uso
Query
Response
multiMatchAllIndices
multiMatchAny, pero devuelve un array con todos los índices que coinciden con el texto de entrada, en cualquier orden.
Sintaxis
haystack— String en la que se realiza la búsqueda.Stringpattern— Expresiones regulares con las que buscar coincidencias.String
Array(UInt64)
Ejemplos
Ejemplo de uso
Query
Response
multiMatchAny
multiSearchAny; funciona mucho más rápido que esta función.
Sintaxis
haystack— Cadena en la que se buscan los patrones.Stringpattern1[, pattern2, ...]— Un array de uno o más patrones de expresiones regulares.Array(String)
1 si coincide algún patrón; de lo contrario, 0. UInt8
Ejemplos
Coincidencia de varios patrones
Query
Response
Query
Response
multiMatchAnyIndex
multiMatchAny, pero devuelve cualquier índice que encuentre una coincidencia en el haystack.
Sintaxis
haystack— haystack en la que se realiza la búsqueda.Stringpattern— Expresiones regulares con las que buscar coincidencias.Array(String)
UInt64
Ejemplos
Ejemplo de uso
Query
Response
multiSearchAllPositions
position, pero devuelve un array con las posiciones (en bytes, a partir de 1) de varias subcadenas needle dentro de una cadena haystack.
Todas las funciones multiSearch*() solo admiten hasta 2^8 needles.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.Stringneedle1[, needle2, ...]— Un array de una o más subcadenas que se buscan.Array(String)
0 si no se encontró. Array(UInt64)
Ejemplos
Búsqueda de múltiples subcadenas
Query
Response
multiSearchAllPositionsCaseInsensitive
multiSearchAllPositions, pero no distingue entre mayúsculas y minúsculas.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.Stringneedle1[, needle2, ...]— Un array de una o más subcadenas que se van a buscar.Array(String)
0 si no se encontró. Array(UInt64)
Ejemplos
Búsqueda múltiple sin distinción entre mayúsculas y minúsculas
Query
Response
multiSearchAllPositionsCaseInsensitiveUTF8
multiSearchAllPositionsUTF8, pero ignora mayúsculas y minúsculas.
Sintaxis
haystack— cadena codificada en UTF-8 en la que se realiza la búsqueda.Stringneedle— subcadenas codificadas en UTF-8 que se deben buscar.Array(String)
Array
Ejemplos
Búsqueda en UTF-8 sin distinción entre mayúsculas y minúsculas
Query
Response
multiSearchAllPositionsUTF8
multiSearchAllPositions, pero supone que haystack y las subcadenas needle son cadenas codificadas en UTF-8.
Sintaxis
haystack— Cadena codificada en UTF-8 en la que se realiza la búsqueda.Stringneedle1[, needle2, ...]— Un array de subcadenas codificadas en UTF-8 que se deben buscar.Array(String)
0 si no se encontró. Array
Ejemplos
Búsqueda múltiple en UTF-8
Query
Response
multiSearchAny
multiSearchAnyCaseInsensitive, multiSearchAnyUTF8 y multiSearchAnyCaseInsensitiveUTF8 ofrecen variantes sin distinción entre mayúsculas y minúsculas y/o UTF-8 de esta función.
Sintaxis
haystack— haystack en la que se realiza la búsqueda.Stringneedle1[, needle2, ...]— Un array de subcadenas que se buscarán.Array(String)
1 si hubo al menos una coincidencia; de lo contrario, 0 si no hubo ninguna coincidencia. UInt8
Ejemplos
Búsqueda de cualquier coincidencia
Query
Response
multiSearchAnyCaseInsensitive
haystack— String en la que se realiza la búsqueda.Stringneedle— Subcadenas que se buscarán.Array(String)
1 si hubo al menos una coincidencia sin distinción entre mayúsculas y minúsculas; de lo contrario, 0. UInt8
Ejemplos
Búsqueda sin distinción entre mayúsculas y minúsculas
Query
Response
multiSearchAnyCaseInsensitiveUTF8
haystack— cadena UTF-8 en la que se realiza la búsqueda.Stringneedle— subcadenas UTF-8 que se buscan.Array(String)
1 si hubo al menos una coincidencia sin distinción entre mayúsculas y minúsculas; en caso contrario, devuelve 0. UInt8
Ejemplos
Dada una cadena UTF-8 ‘Здравствуйте’, compruebe si el carácter ‘з’ (en minúscula) está presente
Query
Response
multiSearchAnyUTF8
haystack y las subcadenas needle están codificadas en UTF-8.
Sintaxis
haystack— cadena UTF-8 en la que se realiza la búsqueda.Stringneedle— subcadenas UTF-8 que se buscan.Array(String)
1 si hubo al menos una coincidencia; en caso contrario, 0 si no la hubo. UInt8
Ejemplos
Dada ‘你好,世界’ (‘Hello, world’) como cadena UTF-8, comprueba si la cadena contiene algún carácter 你 o 界
Query
Response
multiSearchFirstIndex
haystack— La cadena en la que se busca.Stringneedles— Array de cadenas que se buscan.Array(String)
needles) de la primera subcadena encontrada en haystack. Devuelve 0 si no se encuentra ninguna subcadena. La búsqueda distingue entre mayúsculas y minúsculas. UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
multiSearchFirstIndexCaseInsensitive
i (a partir de 1) de needle_i encontrada más a la izquierda en la cadena haystack, y 0 en caso contrario.
No distingue entre mayúsculas y minúsculas.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.Stringneedle— Subcadenas que se van a buscar.Array(String)
0 si no hay coincidencias. UInt8
Ejemplos
Ejemplo de uso
Query
Response
multiSearchFirstIndexCaseInsensitiveUTF8
haystack— La cadena en la que se busca.Stringneedles— Array de cadenas que se buscan.Array(String)
needles) de la primera subcadena encontrada en haystack. Devuelve 0 si no se encuentra ninguna subcadena. La búsqueda no distingue entre mayúsculas y minúsculas y respeta la codificación de caracteres UTF-8. UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
multiSearchFirstIndexUTF8
i (a partir de 1) de la needle_i que aparece más a la izquierda en la cadena haystack, y 0 en caso contrario.
Asume que haystack y needle son cadenas codificadas en UTF-8.
Sintaxis
haystack— cadena UTF-8 en la que se realiza la búsqueda.Stringneedle— Array de subcadenas UTF-8 que se van a buscar.Array(String)
UInt8
Ejemplos
Ejemplo de uso
Query
Response
multiSearchFirstPosition
position, pero devuelve el desplazamiento más a la izquierda de una cadena haystack que coincide con cualquiera de varias cadenas needle.
Las funciones multiSearchFirstPositionCaseInsensitive, multiSearchFirstPositionUTF8 y multiSearchFirstPositionCaseInsensitiveUTF8 proporcionan variantes de esta función sin distinción entre mayúsculas y minúsculas y/o en UTF-8.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.Stringneedle1[, needle2, ...]— Un array de una o más subcadenas que se van a buscar.Array(String)
haystack que coincida con cualquiera de varias cadenas needle; de lo contrario, devuelve 0 si no hay coincidencias. UInt64
Ejemplos
Búsqueda de la primera posición
Query
Response
multiSearchFirstPositionCaseInsensitive
haystack— Cadena en la que se realiza la búsqueda.Stringneedle— Array de subcadenas que se van a buscar.Array(String)
haystack que coincide con cualquiera de las cadenas de needle. Devuelve 0 si no hay ninguna coincidencia. UInt64
Ejemplos
Primera posición sin distinguir entre mayúsculas y minúsculas
Query
Response
multiSearchFirstPositionCaseInsensitiveUTF8
haystack y needle son cadenas UTF-8 y no distingue entre mayúsculas y minúsculas.
Sintaxis
haystack— cadena UTF-8 en la que se realiza la búsqueda.Stringneedle— Array de subcadenas UTF-8 que se van a buscar.Array(String)
haystack que coincida con cualquiera de las múltiples cadenas needle, sin distinguir entre mayúsculas y minúsculas. Devuelve 0 si no hay ninguna coincidencia. UInt64
Ejemplos
Buscar el desplazamiento de la coincidencia situada más a la izquierda en la cadena UTF-8 ‘Здравствуй, мир’ (‘Hello, world’) que coincida con cualquiera de las needle dadas
Query
Response
multiSearchFirstPositionUTF8
haystack y needle son cadenas UTF-8.
Sintaxis
haystack— cadena UTF-8 en la que se realiza la búsqueda.Stringneedle— Array de subcadenas UTF-8 que se buscarán.Array(String)
haystack que coincide con cualquiera de las cadenas needle. Devuelve 0 si no hay ninguna coincidencia. UInt64
Ejemplos
Encontrar el desplazamiento más a la izquierda en la cadena UTF-8 ‘Здравствуй, мир’ (‘Hello, world’) que coincide con cualquiera de las cadenas needle dadas
Query
Response
ngramDistance
ngramDistanceCaseInsensitive, ngramDistanceUTF8, ngramDistanceCaseInsensitiveUTF8.
Sintaxis
0 y 1. Cuanto menor sea el valor devuelto, más similares serán las cadenas. Float32
Ejemplos
Calcular la distancia de 4-gramas
Query
Response
ngramDistanceCaseInsensitive
ngramDistance sin distinción entre mayúsculas y minúsculas.
Calcula la distancia de 4-gramas entre dos cadenas sin distinguir entre mayúsculas y minúsculas.
Cuanto menor sea el valor devuelto, más similares serán las cadenas.
Sintaxis
0 y 1. Float32
Ejemplos
Distancia de 4-gramas sin distinción entre mayúsculas y minúsculas
Query
Response
ngramDistanceCaseInsensitiveUTF8
ngramDistance sin distinción entre mayúsculas y minúsculas.
Asume que las cadenas needle y haystack están codificadas en UTF-8 y sin distinción entre mayúsculas y minúsculas.
Calcula la distancia de 3-gramas entre dos cadenas UTF-8, sin distinción entre mayúsculas y minúsculas.
Cuanto menor sea el valor devuelto, más similares serán las cadenas.
Sintaxis
haystack— Primera cadena de comparación codificada en UTF-8.Stringneedle— Segunda cadena de comparación codificada en UTF-8.String
Float32 entre 0 y 1. Float32
Ejemplos
Distancia de 3-gramas UTF-8 sin distinción entre mayúsculas y minúsculas
Query
Response
ngramDistanceUTF8
ngramDistance.
Asume que las cadenas needle y haystack están codificadas en UTF-8.
Calcula la distancia de 3-gramas entre dos cadenas UTF-8.
Cuanto menor sea el valor devuelto, más similares serán las cadenas.
Sintaxis
haystack— Primera cadena de comparación en UTF-8.Stringneedle— Segunda cadena de comparación en UTF-8.String
Float32 entre 0 y 1. Float32
Ejemplos
Distancia de 3-gramas en UTF-8
Query
Response
ngramSearch
ngramSearchCaseInsensitive, ngramSearchUTF8, ngramSearchCaseInsensitiveUTF8.
Sintaxis
1 si la distancia de 4-gramas entre las cadenas es menor o igual que un umbral (1.0 de forma predeterminada); en caso contrario, 0. UInt8
Ejemplos
Búsqueda con 4-gramas
Query
Response
ngramSearchCaseInsensitive
ngramSearch.
Calcula la diferencia no simétrica entre una cadena patrón y una cadena donde buscar; es decir, el número de n-gramas del patrón menos el número de n-gramas comunes, normalizado por el número de n-gramas del patrón.
Comprueba si la distancia de 4-gramas entre dos cadenas es menor o igual que un umbral dado, sin distinguir entre mayúsculas y minúsculas.
Sintaxis
1 si la distancia de 4-gramas entre las cadenas es menor o igual al umbral (1.0 de forma predeterminada); de lo contrario, 0. UInt8
Ejemplos
Búsqueda sin distinción entre mayúsculas y minúsculas con 4-gramas
Query
Response
ngramSearchCaseInsensitiveUTF8
ngramSearch que no distingue entre mayúsculas y minúsculas.
Asume que haystack y needle son cadenas UTF-8 e ignora las diferencias entre mayúsculas y minúsculas.
Comprueba si la distancia de 3-gramas entre dos cadenas UTF-8 es menor o igual que un umbral dado, sin distinguir entre mayúsculas y minúsculas.
Sintaxis
1 si la distancia de 3-gramas entre las cadenas es menor o igual que un umbral (1.0 de forma predeterminada); en caso contrario, 0. UInt8
Ejemplos
Búsqueda UTF-8 sin distinción entre mayúsculas y minúsculas mediante 3-gramas
Query
Response
ngramSearchUTF8
ngramSearch.
Asume que haystack y needle son cadenas UTF-8.
Comprueba si la distancia de 3-gramas entre dos cadenas UTF-8 es inferior o igual a un umbral determinado.
Sintaxis
1 si la distancia de 3-gramas entre las cadenas es menor o igual que un umbral (1.0 de forma predeterminada), o 0 en caso contrario. UInt8
Ejemplos
Búsqueda UTF-8 mediante 3-gramas
Query
Response
notILike
% y _ para la coincidencia de SQL LIKE.
Sintaxis
haystack— La cadena de entrada en la que se busca.StringoFixedStringpattern— El patrón SQL LIKE con el que se compara.%coincide con cualquier número de caracteres (incluido cero),_coincide con exactamente un carácter.String
1 si la cadena no coincide con el patrón (sin distinguir entre mayúsculas y minúsculas); en caso contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
notLike
like, pero invierte el resultado.
Sintaxis
haystack— String donde se realiza la búsqueda.StringoFixedStringpattern— PatrónLIKEcon el que se compara.String
1 si la cadena no coincide con el patrón LIKE; de lo contrario, 0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
position
needle en una cadena haystack.
Si la subcadena needle está vacía, se aplican estas reglas:
- si no se especificó
start_pos: devolver1 - si
start_pos = 0: devolver1 - si
start_pos >= 1ystart_pos <= length(haystack) + 1: devolverstart_pos - en caso contrario: devolver
0
locate, positionCaseInsensitive, positionUTF8 y positionCaseInsensitiveUTF8.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.StringoEnumneedle— Subcadena que se va a buscar.Stringstart_pos— Posición (basada en 1) enhaystacken la que comienza la búsqueda. Opcional.UInt
0. UInt64
Ejemplos
Uso básico
Query
Response
Query
Response
Query
Response
Query
Response
positionCaseInsensitive
position, pero sin distinguir entre mayúsculas y minúsculas.
Sintaxis
instr
Argumentos
haystack— Cadena en la que se realiza la búsqueda.StringoEnumneedle— Subcadena que se va a buscar.Stringstart_pos— Opcional. Posición (con base 1) enhaystacka partir de la cual comienza la búsqueda.UInt*
0. UInt64
Ejemplos
Búsqueda sin distinción entre mayúsculas y minúsculas
Query
Response
positionCaseInsensitiveUTF8
positionUTF8, pero busca sin distinción entre mayúsculas y minúsculas.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.StringoEnumneedle— Subcadena que se busca.Stringstart_pos— Opcional. Posición (basada en 1) dehaystacken la que comienza la búsqueda.UInt*
0. UInt64
Ejemplos
Búsqueda UTF-8 sin distinción entre mayúsculas y minúsculas
Query
Response
positionUTF8
position, pero supone que haystack y needle son cadenas codificadas en UTF-8.
Sintaxis
haystack— Cadena en la que se realiza la búsqueda.StringoEnumneedle— Subcadena que se debe buscar.Stringstart_pos— Opcional. Posición (basada en 1) dehaystacken la que comienza la búsqueda.UInt*
0. UInt64
Ejemplos
Recuento de caracteres UTF-8
Query
Response