La recherche insensible à la casse suit les règles de passage des minuscules aux majuscules de la langue anglaise. Par exemple, le
i majuscule en anglais est
I, alors qu’en turc c’est İ ; les résultats pour les langues autres que l’anglais peuvent donc être inattendus.haystack) et la chaîne recherchée (appelée dans cette section needle) sont du texte encodé sur un seul octet. Si cette hypothèse est
violée, aucune exception n’est levée et les résultats sont indéfinis. La recherche avec des chaînes encodées en UTF-8 est généralement proposée par des variantes de fonction
distinctes. De même, si une variante de fonction UTF-8 est utilisée et que les chaînes d’entrée ne sont pas du texte encodé en UTF-8, aucune exception n’est levée et les
résultats sont indéfinis. Notez qu’aucune normalisation Unicode automatique n’est effectuée ; vous pouvez toutefois utiliser les fonctions
normalizeUTF8*() à cette fin.
Les fonctions générales sur les chaînes et les fonctions de remplacement dans les chaînes sont décrites séparément.
La documentation ci-dessous est générée à partir de la table système
system.functions.countMatches
Comportement selon la versionLe comportement de cette fonction dépend de la version de ClickHouse :
- dans les versions < v25.6, la fonction arrête le comptage à la première correspondance vide, même si le motif autorise une correspondance vide.
- dans les versions >= 25.6, la fonction continue à s’exécuter lorsqu’une correspondance vide se produit. Le comportement legacy peut être restauré à l’aide du paramètre
count_matches_stop_at_empty_match = true;
haystack— La chaîne dans laquelle effectuer la recherche.Stringpattern— Motif d’expression régulière.String
UInt64
Exemples
Compter les séquences de chiffres
Query
Response
countMatchesCaseInsensitive
countMatches, mais effectue une correspondance sans tenir compte de la casse.
Syntaxe
haystack— La chaîne dans laquelle effectuer la recherche.Stringpattern— Motif d’expression régulière.const String
UInt64
Exemples
Comptage insensible à la casse
Query
Response
countSubstrings
needle apparaît dans la chaîne haystack.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée. String ou Enum. -needle— Sous-chaîne à rechercher. String. -start_pos— Position (à partir de 1) danshaystackà laquelle la recherche commence. UInt. Facultatif.
UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
countSubstringsCaseInsensitive
countSubstrings, mais effectue le comptage sans tenir compte de la casse.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouEnumneedle— Sous-chaîne à rechercher.Stringstart_pos— Facultatif. Position (à partir de 1) danshaystackà laquelle la recherche commence.UInt*
needle dans haystack. UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
countSubstringsCaseInsensitiveUTF8
countSubstrings, mais compte sans distinction entre majuscules et minuscules et suppose que haystack est une chaîne UTF-8.
Syntaxe
haystack— Chaîne UTF-8 dans laquelle effectuer la recherche.StringouEnumneedle— Sous-chaîne à rechercher.Stringstart_pos— Facultatif. Position (à partir de 1) danshaystackà laquelle la recherche commence.UInt*
needle dans haystack. UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
extract
haystack— Chaîne à partir de laquelle extraire.Stringpattern— Expression régulière, contenant généralement un groupe de capture.const String
String
Exemples
Extraire le domaine d’une adresse e-mail
Query
Response
Query
Response
extractAll
extract, mais renvoie un tableau contenant toutes les correspondances d’une expression régulière dans une chaîne.
Si ‘haystack’ ne correspond pas à l’expression régulière ‘pattern’, un tableau vide est renvoyé.
Si l’expression régulière comporte des groupes de capture (sous-motifs), la fonction fait correspondre la chaîne d’entrée au premier groupe de capture.
Syntaxe
haystack— Chaîne dont extraire les fragments.Stringpattern— Expression régulière pouvant contenir des groupes de capture.const String
Array(String)
Exemples
Extraire tous les nombres
Query
Response
Query
Response
extractAllGroupsHorizontal
s— Chaîne d’entrée à partir de laquelle extraire.StringouFixedStringregexp— Expression régulière à faire correspondre.const Stringouconst FixedString
Array(Array(String))
Exemples
Exemple d’utilisation
Query
Response
extractGroups
extractAllGroupsHorizontal ou extractAllGroupsVertical.
Syntaxe
s— Chaîne d’entrée dans laquelle extraire.StringouFixedStringregexp— Expression régulière. Doit contenir au moins un groupe de capture. Constante.const Stringouconst FixedString
1 à N, où N est le nombre de groupes de capture dans regexp) de la première correspondance. S’il n’y a pas de correspondance, renvoie un tableau vide. Array(String)
Exemples
Exemple d’utilisation
Query
Response
hasAllTokens
hasAnyTokens, mais renvoie 1 si tous les tokens de la chaîne ou du tableau needle correspondent à la chaîne input, et 0 sinon. Si input est une colonne, renvoie toutes les lignes qui satisfont cette condition.
La colonne
input doit avoir un index de texte défini pour des performances optimales.
Si aucun index de texte n’est défini, la fonction effectue un balayage exhaustif de la colonne, plusieurs ordres de grandeur plus lent qu’une recherche via l’index.- l’argument
input(toujours), et - l’argument
needle(s’il est fourni sous forme de String) à l’aide du tokenizer spécifié pour l’index de texte. Si aucun index de texte n’est défini pour la colonne, le tokenizersplitByNonAlphaest utilisé à la place. Si l’argumentneedleest de type Array(String), chaque élément du tableau est traité comme un token — aucune tokenisation supplémentaire n’a lieu.
Lorsqu’un index de texte définit un preprocessor (par exemple
lowerUTF8), hasAllTokens l’applique à input et, lorsque needles est un String, à needles avant la tokenisation. Lorsque needles est un Array(String), ses éléments sont transmis tels quels et le preprocessor ne leur est pas appliqué.
Le preprocessor n’est appliqué que sur le chemin de l’index de texte, de sorte que les résultats peuvent différer entre les requêtes qui utilisent l’index de texte et celles qui ne l’utilisent pas (par ex. SETTINGS use_skip_indexes = 0).
Cette incohérence est tolérée afin d’améliorer la facilité d’utilisation de la recherche en texte intégral.hasAllToken
Arguments
input— La colonne d’entrée.StringouFixedStringouArray(String)ouArray(FixedString)needles— Les tokens à rechercher.StringouArray(String)tokenizer— Le tokenizer à utiliser. Les arguments valides sontsplitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsetarray. Facultatif ; s’il n’est pas défini explicitement, la valeur par défaut estsplitByNonAlpha.const String
needles correspondent. Sinon, renvoie 0. UInt8
Exemples
Utilisation de base avec un needle de type chaîne
Query
Response
Query
Response
tokens
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
hasAnyTokens
needle correspond à la chaîne input, et 0 sinon. Si input est une colonne, renvoie toutes les lignes qui satisfont cette condition.
La colonne
input doit avoir un index de texte défini pour des performances optimales.
Si aucun index de texte n’est défini, la fonction effectue un balayage exhaustif de la colonne, ce qui est de plusieurs ordres de grandeur plus lent qu’une recherche via l’index.- l’argument
input(toujours), et - l’argument
needle(s’il est fourni sous forme de String) à l’aide du tokenizer spécifié pour l’index de texte. Si aucun index de texte n’est défini pour la colonne, le tokenizersplitByNonAlphaest utilisé à la place. Si l’argumentneedleest de type Array(String), chaque élément du tableau est traité comme un token — aucune tokenisation supplémentaire n’est effectuée.
Lorsqu’un index de texte définit un preprocessor (par exemple
lowerUTF8), hasAnyTokens l’applique à input et, lorsque needles est une String, à needles avant la tokenisation. Lorsque needles est un Array(String), ses éléments sont transmis tels quels et le preprocessor ne leur est pas appliqué.
Le preprocessor n’est appliqué que sur le chemin de l’index de texte. Les résultats peuvent donc différer entre les requêtes qui utilisent l’index de texte et celles qui ne l’utilisent pas (par ex. SETTINGS use_skip_indexes = 0).
Cette incohérence est tolérée afin d’améliorer la facilité d’utilisation de la recherche en texte intégral.hasAnyToken
Arguments
input— La colonne d’entrée.StringouFixedStringouNullable(String)ouNullable(FixedString)ouArray(String)ouArray(FixedString)ouArray(Nullable(String))ouArray(Nullable(FixedString))needles— Les tokens à rechercher.StringouArray(String)tokenizer— Le tokenizer à utiliser. Les arguments valides sontsplitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsetarray. Ce paramètre est facultatif ; s’il n’est pas défini explicitement, la valeur par défaut estsplitByNonAlpha.const String
1 s’il existe au moins une correspondance. 0 sinon. UInt8
Exemples
Utilisation de base avec une chaîne comme terme recherché
Query
Response
Query
Response
tokens
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
hasPhrase
input contient tous les tokens de phrase dans un ordre consécutif.
La colonne
input doit avoir un index de texte défini pour des performances optimales.
Si aucun index de texte n’est défini, la fonction effectue un balayage exhaustif de la colonne, plusieurs ordres de grandeur plus lent qu’une consultation de l’index.input et phrase à l’aide du tokenizer spécifié pour l’index de texte.
Si aucun index de texte n’est défini pour la colonne, le tokenizer splitByNonAlpha est utilisé à la place — sauf si un tokenizer est fourni comme troisième argument facultatif.
L’argument tokenizer doit être l’un de splitByNonAlpha, splitByString, ngrams ou asciiCJK.
Lorsqu’un index de texte définit un preprocessor (par exemple
lowerUTF8), hasPhrase l’applique à la fois à input et à phrase avant la tokenisation.
Le preprocessor n’est appliqué que lors de l’utilisation de l’index de texte ; les résultats peuvent donc différer entre les requêtes qui utilisent l’index de texte et celles qui ne l’utilisent pas (par ex. SETTINGS use_skip_indexes = 0).
Cette incohérence est tolérée afin d’améliorer la facilité d’utilisation de la recherche en texte intégral.hasToken, hasAnyTokens et hasAllTokens, hasPhrase exige que les tokens apparaissent dans le même ordre
et sans aucun token intermédiaire. Par exemple, hasPhrase('the quick brown fox', 'quick fox') renvoie 0
car “brown” apparaît entre “quick” et “fox”.
Syntaxe
matchPhrase
Arguments
input— La colonne d’entrée.StringouFixedStringphrase— Phrase à rechercher.const Stringtokenizer— Le tokenizer à utiliser. Facultatif,splitByNonAlphaest utilisé par défaut.const String
1 si la phrase est trouvée sous la forme d’une séquence consécutive de tokens, sinon 0. UInt8
Exemples
Correspondance de phrase
Query
Response
Query
Response
hasSubsequence
haystack— Chaîne dans laquelle rechercher la sous-séquence.Stringneedle— Sous-séquence à rechercher.String
1 si needle est une sous-séquence de haystack, 0 sinon. UInt8
Exemples
Vérification de base d’une sous-séquence
Query
Response
Query
Response
hasSubsequenceCaseInsensitive
hasSubsequence, mais effectue une recherche sans tenir compte de la casse.
Syntaxe
haystack— Chaîne dans laquelle effectuer la recherche.Stringneedle— Sous-séquence à rechercher.String
UInt8
Exemples
Exemple d’utilisation
Query
Response
hasSubsequenceCaseInsensitiveUTF8
hasSubsequenceUTF8, mais la recherche s’effectue sans tenir compte de la casse.
Syntaxe
haystack— chaîne encodée en UTF8 dans laquelle effectuer la recherche.Stringneedle— motif de sous-séquence encodé en UTF8 à rechercher.String
needle est une sous-séquence de haystack, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
hasSubsequenceUTF8
hasSubsequence, mais suppose que haystack et needle sont des chaînes encodées en UTF-8.
Syntaxe
haystack— La chaîne dans laquelle effectuer la recherche.Stringneedle— Le motif à rechercher.String
1 si needle est une sous-séquence de haystack, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
Query
Response
hasToken
[0-9A-Za-z_] (chiffres, caractères ASCII et underscore).
Syntaxe
haystack— Chaîne dans laquelle effectuer la recherche.Stringtoken— Token à rechercher.const String
1 si le token est trouvé, 0 sinon. UInt8
Exemples
Recherche de token
Query
Response
hasTokenCaseInsensitive
- Aucun.
hasTokenCaseInsensitiveOrNull
- Aucun.
hasTokenOrNull
hasToken, mais renvoie NULL si le token est mal formé.
Syntaxe
haystack— Chaîne dans laquelle effectuer la recherche. Doit être constante.Stringtoken— Token à rechercher.const String
1 si le token est trouvé, 0 sinon, NULL si le token est mal formé. Nullable(UInt8)
Exemples
Exemple d’utilisation
Query
Response
highlight
haystack— Le texte dans lequel effectuer la recherche.StringouFixedStringneedles— Un tableau de termes de recherche à mettre en évidence.const Array(String)open_tag— La balise ouvrante à insérer avant chaque correspondance. Par défaut :<em>.const Stringclose_tag— La balise fermante à insérer après chaque correspondance. Par défaut :</em>.const String
String
Exemples
Mise en évidence simple
Query
Response
Query
Response
ilike
like, mais effectue une recherche sans tenir compte de la casse. Prend en charge la clause ESCAPE facultative (voir like).
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouFixedStringpattern— Motif LIKE auquel la chaîne doit correspondre.Stringescape_character— Chaîne facultative d’un seul caractère à utiliser comme caractère d’échappement à la place de\. Par défaut :\.String
1 si la chaîne correspond au motif LIKE (insensible à la casse), sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
like
haystack correspond à l’expression LIKE pattern.
Une expression LIKE peut contenir des caractères ordinaires et les métacaractères suivants :
%indique un nombre arbitraire de caractères quelconques (y compris zéro caractère)._indique un seul caractère quelconque.\sert à échapper les littéraux%,_et\.
_ correspond au point de code Unicode ¥, qui est représenté en UTF-8 à l’aide de deux octets.
Si la chaîne ou l’expression LIKE ne sont pas en UTF-8 valide, le comportement est indéfini.
Aucune normalisation Unicode automatique n’est effectuée ; vous pouvez utiliser les fonctions normalizeUTF8* pour cela.
Pour faire correspondre les littéraux %, _ et \ (qui sont des métacaractères LIKE), faites-les précéder d’une barre oblique inverse : \%, \_ et \\.
La barre oblique inverse perd sa signification spéciale (c’est-à-dire qu’elle est interprétée littéralement) si elle précède un caractère autre que %, _ ou \.
ClickHouse exige que les barres obliques inverses dans les chaînes soient elles aussi échappées ; vous devez donc en pratique écrire
\\%, \\_ et \\\\.LIKE de la forme %needle%, la fonction est aussi rapide que la fonction position.
Toutes les autres expressions LIKE sont converties en interne en une expression régulière et exécutées avec des performances similaires à celles de la fonction match.
Clause ESCAPE
ESCAPE facultative spécifie un caractère d’échappement personnalisé (qui doit être un seul caractère ASCII).
Lorsqu’il est défini, le caractère d’échappement personnalisé remplace la barre oblique inverse par défaut pour échapper les métacaractères % et _.
Le caractère d’échappement peut servir à échapper trois éléments : % (signe de pourcentage littéral), _ (trait de soulignement littéral) et lui-même (caractère d’échappement littéral).
Lorsqu’un caractère d’échappement personnalisé est utilisé, la barre oblique inverse n’a aucune signification particulière et est traité comme un caractère littéral.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouFixedStringpattern— MotifLIKEauquel la chaîne est comparée. Peut contenir%(correspond à un nombre quelconque de caractères),_(correspond à un seul caractère) et\\comme caractère d’échappement.Stringescape_character— Chaîne facultative d’un seul caractère à utiliser comme caractère d’échappement à la place de\\. Par défaut :\\.String
1 si la chaîne correspond au motif LIKE, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
Query
Response
locate
position, mais avec les arguments haystack et locate inversés.
Comportement selon la versionLe comportement de cette fonction dépend de la version de ClickHouse :
- dans les versions < v24.3,
locateétait un alias de la fonctionpositionet acceptait les arguments(haystack, needle[, start_pos]). - dans les versions >= 24.3,
locateest une fonction distincte (pour une meilleure compatibilité avec MySQL) et accepte les arguments(needle, haystack[, start_pos]). Le comportement précédent peut être rétabli à l’aide du paramètrefunction_locate_has_mysql_compatible_argument_order = false.
needle— Sous-chaîne à rechercher.Stringhaystack— Chaîne dans laquelle la recherche est effectuée.StringouEnumstart_pos— Facultatif. Position (indexée à partir de 1) danshaystackà partir de laquelle la recherche commence.UInt
0 si elle ne l’est pas. UInt64
Exemples
Utilisation de base
Query
Response
match
¥ utilise deux octets en interne, mais est traité comme un seul point de code lors de la correspondance.
L’expression régulière ne doit pas contenir d’octets NULL.
Si la chaîne d’entrée ou le motif ne sont pas en UTF-8 valide, le comportement n’est pas défini.
Contrairement au comportement par défaut de re2, . correspond aux sauts de ligne. Pour désactiver cela, faites précéder le motif de (?-s).
Le motif n’est pas ancré. Pour faire correspondre la chaîne entière, ancrez vous-même le motif à l’aide de ^ et $.
Si vous souhaitez simplement rechercher des sous-chaînes, vous pouvez utiliser à la place les fonctions like ou position, qui sont bien plus rapides que cette fonction.
Syntaxe d’opérateur alternative : haystack REGEXP pattern.
Syntaxe
REGEXP_MATCHES
Arguments
haystack— Chaîne dans laquelle le motif est recherché.Stringpattern— Motif d’expression régulière. Peut être une constante ou provenir d’un colonne.String
1 si le motif correspond, 0 sinon. UInt8
Exemples
Correspondance simple de motifs
Query
Response
Query
Response
Query
Response
multiFuzzyMatchAllIndices
multiFuzzyMatchAny, mais renvoie le tableau de tous les indices correspondant, dans un ordre quelconque, à la chaîne recherchée avec une distance d’édition constante.
Syntaxe
haystack— Chaîne dans laquelle effectuer la recherche.Stringdistance— Distance d’édition maximale pour la correspondance approximative.UInt8pattern— Tableau de motifs à rechercher.Array(String)
haystack selon la distance d’édition spécifiée, dans n’importe quel ordre. Renvoie un tableau vide si aucune correspondance n’est trouvée. Array(UInt64)
Exemples
Exemple d’utilisation
Query
Response
multiFuzzyMatchAny
multiMatchAny, mais renvoie 1 si un motif correspond à la chaîne recherchée pour une distance d’édition constante.
Cette fonction s’appuie sur la fonctionnalité expérimentale de la bibliothèque hyperscan et peut être lente dans certains cas limites.
Les performances dépendent de la valeur de la distance d’édition et des motifs utilisés, mais restent toujours inférieures à celles des variantes non floues.
La famille de fonctions
multiFuzzyMatch*() ne prend pas en charge les expressions régulières UTF-8 (elles les traitent comme une séquence d’octets) en raison des limitations de hyperscan.haystack— Chaîne dans laquelle la recherche est effectuée.Stringdistance— Distance d’édition maximale pour la correspondance approximative.UInt8pattern— Facultatif. Tableau de motifs à comparer.Array(String)
1 si un motif correspond au haystack dans la limite de la distance d’édition spécifiée, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
multiFuzzyMatchAnyIndex
multiFuzzyMatchAny, mais renvoie un indice correspondant à la chaîne dans une distance d’édition constante.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringdistance— Distance d’édition maximale pour la correspondance approximative.UInt8pattern— Tableau de motifs à mettre en correspondance.Array(String)
haystack dans la limite de la distance d’édition spécifiée ; sinon, 0. UInt64
Exemples
Exemple d’utilisation
Query
Response
multiMatchAllIndices
multiMatchAny, mais renvoie le tableau de tous les indices qui correspondent à la chaîne analysée, dans n’importe quel ordre.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringpattern— Expressions régulières à rechercher.String
haystack, dans n’importe quel ordre. Renvoie un tableau vide si aucune correspondance n’est trouvée. Array(UInt64)
Exemples
Exemple d’utilisation
Query
Response
multiMatchAny
multiSearchAny à la place - elle est bien plus rapide que celle-ci.
Syntaxe
haystack— Chaîne dans laquelle les motifs sont recherchés.Stringpattern1[, pattern2, ...]— Tableau contenant un ou plusieurs motifs d’expression régulière.Array(String)
1 si l’un des motifs correspond, 0 sinon. UInt8
Exemples
Correspondance avec plusieurs motifs
Query
Response
Query
Response
multiMatchAnyIndex
multiMatchAny, mais renvoie l’un des indices correspondant à la chaîne analysée.
Syntaxe
haystack— Chaîne dans laquelle effectuer la recherche.Stringpattern— Expressions régulières à mettre en correspondance.Array(String)
UInt64
Exemples
Exemple d’utilisation
Query
Response
multiSearchAllPositions
position, mais renvoie un tableau de positions (en octets, à partir de 1) pour plusieurs sous-chaînes needle dans une chaîne haystack.
Toutes les fonctions multiSearch*() prennent uniquement en charge jusqu’à 2^8 needles.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle1[, needle2, ...]— Tableau d’une ou plusieurs sous-chaînes à rechercher.Array(String)
0 si elle ne l’a pas été. Array(UInt64)
Exemples
Recherche de plusieurs sous-chaînes
Query
Response
multiSearchAllPositionsCaseInsensitive
multiSearchAllPositions, mais sans tenir compte de la casse.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle1[, needle2, ...]— Tableau d’une ou plusieurs sous-chaînes à rechercher.Array(String)
0 si la sous-chaîne n’a pas été trouvée. Array(UInt64)
Exemples
Recherche multiple insensible à la casse
Query
Response
multiSearchAllPositionsCaseInsensitiveUTF8
multiSearchAllPositionsUTF8, mais sans tenir compte de la casse.
Syntaxe
haystack— chaîne encodée en UTF-8 dans laquelle la recherche est effectuée.Stringneedle— sous-chaînes encodées en UTF-8 à rechercher.Array(String)
Array
Exemples
Recherche UTF-8 insensible à la casse
Query
Response
multiSearchAllPositionsUTF8
multiSearchAllPositions, mais suppose que haystack et les sous-chaînes needle sont des chaînes encodées en UTF-8.
Syntaxe
haystack— Chaîne encodée en UTF-8 dans laquelle la recherche est effectuée.Stringneedle1[, needle2, ...]— Tableau de sous-chaînes encodées en UTF-8 à rechercher.Array(String)
0 si la sous-chaîne n’a pas été trouvée. Array
Exemples
Recherche multiple en UTF-8
Query
Response
multiSearchAny
multiSearchAnyCaseInsensitive, multiSearchAnyUTF8 et multiSearchAnyCaseInsensitiveUTF8 fournissent des variantes insensibles à la casse et/ou en UTF-8 de cette fonction.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle1[, needle2, ...]— Tableau de sous-chaînes à rechercher.Array(String)
1 s’il y a au moins une correspondance, sinon 0. UInt8
Exemples
Recherche d’au moins une correspondance
Query
Response
multiSearchAnyCaseInsensitive
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle— Sous-chaînes à rechercher.Array(String)
1 s’il existe au moins une correspondance insensible à la casse, sinon 0. UInt8
Exemples
Recherche insensible à la casse
Query
Response
multiSearchAnyCaseInsensitiveUTF8
haystack— chaîne UTF-8 dans laquelle la recherche est effectuée.Stringneedle— sous-chaînes UTF-8 à rechercher.Array(String)
1 s’il existe au moins une correspondance insensible à la casse, sinon 0. UInt8
Exemples
Étant donné la chaîne UTF-8 ‘Здравствуйте’, vérifiez si le caractère ‘з’ (en minuscule) est présent
Query
Response
multiSearchAnyUTF8
haystack et les sous-chaînes needle sont encodées en UTF-8.
Syntaxe
haystack— chaîne UTF-8 dans laquelle la recherche est effectuée.Stringneedle— sous-chaînes UTF-8 à rechercher.Array(String)
1 s’il y a au moins une correspondance, sinon 0. UInt8
Exemples
Étant donné ‘你好,世界’ (‘Hello, world’) comme chaîne UTF-8, vérifiez si la chaîne contient les caractères 你 ou 界
Query
Response
multiSearchFirstIndex
haystack— La chaîne dans laquelle effectuer la recherche.Stringneedles— Tableau de chaînes à rechercher.Array(String)
needles) de la première chaîne trouvée dans haystack. Renvoie 0 si aucune chaîne n’est trouvée. La recherche est sensible à la casse. UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
multiSearchFirstIndexCaseInsensitive
i (à partir de 1) du needle_i trouvé le plus à gauche dans la chaîne haystack, et 0 sinon.
Sans tenir compte de la casse.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle— Sous-chaînes à rechercher.Array(String)
needle trouvée la plus à gauche. Sinon, renvoie 0 si aucune correspondance n’a été trouvée. UInt8
Exemples
Exemple d’utilisation
Query
Response
multiSearchFirstIndexCaseInsensitiveUTF8
haystack— La chaîne dans laquelle effectuer la recherche.Stringneedles— Tableau de chaînes à rechercher.Array(String)
needles) de la première needle trouvée dans haystack. Renvoie 0 si aucune needle n’est trouvée. La recherche est insensible à la casse et respecte l’encodage des caractères UTF-8. UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
multiSearchFirstIndexUTF8
i (à partir de 1) du needle_i trouvé le plus à gauche dans la chaîne haystack, et 0 sinon.
Suppose que haystack et needle sont des chaînes encodées en UTF-8.
Syntaxe
haystack— chaîne UTF-8 dans laquelle la recherche est effectuée.Stringneedle— tableau de sous-chaînes UTF-8 à rechercher.Array(String)
needle trouvée la plus à gauche. Sinon, 0 s’il n’y a aucune correspondance. UInt8
Exemples
Exemple d’utilisation
Query
Response
multiSearchFirstPosition
position, mais renvoie le décalage le plus à gauche dans une chaîne haystack qui correspond à l’une des chaînes needle.
Les fonctions multiSearchFirstPositionCaseInsensitive, multiSearchFirstPositionUTF8 et multiSearchFirstPositionCaseInsensitiveUTF8 fournissent des variantes insensibles à la casse et/ou UTF-8 de cette fonction.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle1[, needle2, ...]— Tableau d’une ou plusieurs sous-chaînes à rechercher.Array(String)
haystack qui correspond à l’une des chaînes needle, ou 0 si aucune correspondance n’est trouvée. UInt64
Exemples
Recherche de la première position
Query
Response
multiSearchFirstPositionCaseInsensitive
haystack— Chaîne dans laquelle la recherche est effectuée.Stringneedle— Tableau de sous-chaînes à rechercher.Array(String)
haystack qui correspond à l’une des chaînes needle. Renvoie 0 si aucune correspondance n’est trouvée. UInt64
Exemples
Première position sans distinction de casse
Query
Response
multiSearchFirstPositionCaseInsensitiveUTF8
haystack et needle comme des chaînes UTF-8 et ne tient pas compte de la casse.
Syntaxe
haystack— chaîne UTF-8 dans laquelle la recherche est effectuée.Stringneedle— tableau de sous-chaînes UTF-8 à rechercher.Array(String)
haystack qui correspond à l’une des chaînes needle, sans tenir compte de la casse. Renvoie 0 s’il n’y a aucune correspondance. UInt64
Exemples
Trouver la position la plus à gauche dans la chaîne UTF-8 ‘Здравствуй, мир’ (‘Hello, world’) qui correspond à l’une des sous-chaînes recherchées
Query
Response
multiSearchFirstPositionUTF8
haystack et needle comme des chaînes UTF-8.
Syntaxe
haystack— chaîne UTF-8 dans laquelle effectuer la recherche.Stringneedle— tableau de sous-chaînes UTF-8 à rechercher.Array(String)
haystack correspondant à l’une des chaînes needle. Renvoie 0 s’il n’y a aucune correspondance. UInt64
Exemples
Trouver la position la plus à gauche dans la chaîne UTF-8 ‘Здравствуй, мир’ (‘Bonjour, monde’) qui correspond à l’une des chaînes needle données
Query
Response
ngramDistance
ngramDistanceCaseInsensitive, ngramDistanceUTF8, ngramDistanceCaseInsensitiveUTF8.
Syntaxe
haystack— Chaîne de caractères de comparaison.Stringneedle— Chaîne de caractères de comparaison.String
0 et 1. Plus la valeur renvoyée est faible, plus les chaînes sont similaires. Float32
Exemples
Calcul de la distance de 4-grammes
Query
Response
ngramDistanceCaseInsensitive
ngramDistance insensible à la casse.
Calcule la distance de 4-grammes entre deux chaînes de caractères, sans tenir compte de la casse.
Plus la valeur renvoyée est faible, plus les chaînes sont similaires.
Syntaxe
Float32 compris entre 0 et 1. Float32
Exemples
Distance de 4-grammes insensible à la casse
Query
Response
ngramDistanceCaseInsensitiveUTF8
ngramDistance.
Suppose que les chaînes needle et haystack sont encodées en UTF-8 et ignore la casse.
Calcule la distance de 3-grammes entre deux chaînes UTF-8, sans tenir compte de la casse.
Plus la valeur renvoyée est faible, plus les chaînes se ressemblent.
Syntaxe
haystack— Première chaîne de comparaison codée en UTF-8.Stringneedle— Deuxième chaîne de comparaison codée en UTF-8.String
0 et 1. Float32
Exemples
Distance de 3-grammes UTF-8 insensible à la casse
Query
Response
ngramDistanceUTF8
ngramDistance.
Suppose que les chaînes needle et haystack sont encodées en UTF-8.
Calcule la distance de 3-grammes entre deux chaînes UTF-8.
Plus la valeur renvoyée est faible, plus les chaînes sont similaires.
Syntaxe
haystack— Première chaîne de comparaison encodée en UTF-8.Stringneedle— Deuxième chaîne de comparaison encodée en UTF-8.String
0 et 1. Float32
Exemples
Distance de 3-grammes UTF-8
Query
Response
ngramSearch
ngramSearchCaseInsensitive, ngramSearchUTF8, ngramSearchCaseInsensitiveUTF8.
Syntaxe
1 si la distance de 4-grammes entre les chaînes est inférieure ou égale à un seuil (1.0 par défaut), sinon 0. UInt8
Exemples
Recherche par 4-grammes
Query
Response
ngramSearchCaseInsensitive
ngramSearch.
Calcule la différence non symétrique entre la chaîne needle et la chaîne haystack, c’est-à-dire le nombre de n-grammes de needle moins le nombre de n-grammes communs, normalisé par le nombre de n-grammes de needle.
Vérifie si la distance de 4-grammes entre deux chaînes est inférieure ou égale à un seuil donné, sans tenir compte de la casse.
Syntaxe
1 si la distance en 4-grammes entre les chaînes est inférieure ou égale à un seuil (1.0 par défaut), sinon 0. UInt8
Exemples
Recherche insensible à la casse à l’aide de 4-grammes
Query
Response
ngramSearchCaseInsensitiveUTF8
ngramSearch.
Considère que haystack et needle sont des chaînes UTF-8 et ignore la casse.
Vérifie si la distance de 3-grammes entre deux chaînes UTF-8 est inférieure ou égale à un seuil donné, sans tenir compte de la casse.
Syntaxe
1 si la distance de 3-grammes entre les chaînes est inférieure ou égale à un seuil (1.0 par défaut), sinon 0. UInt8
Exemples
Recherche UTF-8 insensible à la casse à l’aide de 3-grammes
Query
Response
ngramSearchUTF8
ngramSearch.
Suppose que haystack et needle sont des chaînes en UTF-8.
Vérifie si la distance 3-grammes entre deux chaînes en UTF-8 est inférieure ou égale à un seuil donné.
Syntaxe
1 si la distance de 3-grammes entre les chaînes est inférieure ou égale à un seuil (1.0 par défaut), sinon 0. UInt8
Exemples
Recherche UTF-8 avec des 3-grammes
Query
Response
notILike
% et _ pour la correspondance SQL LIKE. Prend en charge la clause facultative ESCAPE (voir like).
Syntaxe
haystack— La chaîne d’entrée dans laquelle effectuer la recherche.StringouFixedStringpattern— Le motif SQL LIKE à appliquer.%correspond à un nombre quelconque de caractères (y compris zéro),_correspond à exactement un caractère.Stringescape_character— Chaîne facultative d’un seul caractère à utiliser comme caractère d’échappement à la place de\. Par défaut :\.String
1 si la chaîne ne correspond pas au motif (insensible à la casse), sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
notLike
like, mais en inverse le résultat. Prend en charge la clause ESCAPE facultative (voir like).
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouFixedStringpattern— Motif LIKE auquel la chaîne est comparée.Stringescape_character— Chaîne facultative d’un seul caractère à utiliser comme caractère d’échappement à la place de\. Par défaut :\.String
1 si la chaîne ne correspond pas au motif LIKE, sinon 0. UInt8
Exemples
Exemple d’utilisation
Query
Response
Query
Response
position
needle dans une chaîne haystack.
Si la sous-chaîne needle est vide, les règles suivantes s’appliquent :
- si aucun
start_posn’est spécifié : renvoyer1 - si
start_pos = 0: renvoyer1 - si
start_pos >= 1etstart_pos <= length(haystack) + 1: renvoyerstart_pos - sinon : renvoyer
0
locate, positionCaseInsensitive, positionUTF8 et positionCaseInsensitiveUTF8.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouEnumneedle— Sous-chaîne à rechercher.Stringstart_pos— Position danshaystackà partir de laquelle la recherche commence (indexation à partir de 1). Facultatif.UInt
0 si la sous-chaîne n’est pas trouvée. UInt64
Exemples
Utilisation de base
Query
Response
Query
Response
Query
Response
Query
Response
positionCaseInsensitive
position, mais insensible à la casse.
Syntaxe
instr
Arguments
haystack— Chaîne dans laquelle la recherche est effectuée.StringouEnumneedle— Sous-chaîne à rechercher.Stringstart_pos— Facultatif. Position (à partir de 1) danshaystackà laquelle la recherche commence.UInt*
0. UInt64
Exemples
Recherche insensible à la casse
Query
Response
positionCaseInsensitiveUTF8
positionUTF8, mais effectue la recherche sans tenir compte de la casse.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouEnumneedle— Sous-chaîne à rechercher.Stringstart_pos— Facultatif. Position (à partir de 1) danshaystackà laquelle la recherche commence.UInt*
0 si elle n’a pas été trouvée. UInt64
Exemples
Recherche UTF-8 insensible à la casse
Query
Response
positionUTF8
position, mais suppose que haystack et needle sont des chaînes codées en UTF-8.
Syntaxe
haystack— Chaîne dans laquelle la recherche est effectuée.StringouEnumneedle— Sous-chaîne à rechercher.Stringstart_pos— Facultatif. Position (indexée à partir de 1) danshaystackà partir de laquelle la recherche commence.UInt*
0. UInt64
Exemples
Comptage des caractères UTF-8
Query
Response