> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation des fonctions de découpage de chaînes

# Fonctions de découpage de chaînes

export const DeprecatedBadge = () => {
  return <div className="deprecatedBadge">
            <div className="deprecatedIcon">
            <svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M13 0H1C0.734784 0 0.48043 0.105357 0.292893 0.292893C0.105357 0.48043 0 0.734784 0 1V2.5C0 2.76522 0.105357 3.01957 0.292893 3.20711C0.48043 3.39464 0.734784 3.5 1 3.5V9C1 9.26522 1.10536 9.51957 1.29289 9.70711C1.48043 9.89464 1.73478 10 2 10H12C12.2652 10 12.5196 9.89464 12.7071 9.70711C12.8946 9.51957 13 9.26522 13 9V3.5C13.2652 3.5 13.5196 3.39464 13.7071 3.20711C13.8946 3.01957 14 2.76522 14 2.5V1C14 0.734784 13.8946 0.48043 13.7071 0.292893C13.5196 0.105357 13.2652 0 13 0ZM12 9H2V3.5H12V9ZM13 2.5H1V1H13V2.5ZM5 5.5C5 5.36739 5.05268 5.24021 5.14645 5.14645C5.24021 5.05268 5.36739 5 5.5 5H8.5C8.63261 5 8.75979 5.05268 8.85355 5.14645C8.94732 5.24021 9 5.36739 9 5.5C9 5.63261 8.94732 5.75979 8.85355 5.85355C8.75979 5.94732 8.63261 6 8.5 6H5.5C5.36739 6 5.24021 5.94732 5.14645 5.85355C5.05268 5.75979 5 5.63261 5 5.5Z" fill="currentColor" />
            </svg>
        </div>
            Fonctionnalité dépréciée
        </div>;
};

<Note>
  La documentation ci-dessous est générée à partir de la table système `system.functions`.
</Note>

{/*AUTOGENERATED_START*/}

<div id="alphaTokens">
  ## alphaTokens
</div>

Introduit dans : v1.1.0

Sélectionne les sous-chaînes d’octets consécutifs dans les plages `a-z` et `A-Z`, et renvoie un tableau des sous-chaînes sélectionnées.

**Syntaxe**

```sql theme={null}
alphaTokens(s[, max_substrings])
```

**Alias** : `splitByAlpha`

**Arguments**

* `s` — La chaîne à découper. [`String`](/fr/reference/data-types/string)
* `max_substrings` — Facultatif. Lorsque `max_substrings > 0`, le nombre de sous-chaînes renvoyées ne dépassera pas `max_substrings` ; sinon, la fonction renverra autant de sous-chaînes que possible. [`Int64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau des sous-chaînes sélectionnées de `s`. [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT alphaTokens('abca1abc');
```

```response title=Response theme={null}
┌─alphaTokens('abca1abc')─┐
│ ['abca','abc']          │
└─────────────────────────┘
```

<div id="arrayStringConcat">
  ## arrayStringConcat
</div>

Introduit dans : v1.1.0

Concatène les représentations sous forme de chaîne des valeurs présentes dans le tableau à l’aide du séparateur fourni, qui est un paramètre facultatif défini par défaut comme une chaîne vide.

**Syntaxe**

```sql theme={null}
arrayStringConcat(arr[, separator])
```

**Alias** : `array_to_string`

**Arguments**

* `arr` — Le tableau à concaténer. [`Array(T)`](/fr/reference/data-types/array)
* `separator` — Facultatif. Chaîne de séparation. Par défaut, une chaîne vide. [`const String`](/fr/reference/data-types/string)

**Valeur renvoyée**

Renvoie la chaîne concaténée. [`String`](/fr/reference/data-types/string)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT arrayStringConcat(['12/05/2021', '12:50:00'], ' ') AS DateString;
```

```response title=Response theme={null}
┌─DateString──────────┐
│ 12/05/2021 12:50:00 │
└─────────────────────┘
```

<div id="extractAllGroupsVertical">
  ## extractAllGroupsVertical
</div>

Introduit dans : v20.5.0

Recherche toutes les correspondances de groupes dans une chaîne à l’aide d’une expression régulière et renvoie un tableau de tableaux, où chaque tableau contient les fragments correspondants de chaque groupe, regroupés selon leur ordre d’apparition dans la chaîne d’entrée.

**Syntaxe**

```sql theme={null}
extractAllGroupsVertical(s, regexp)
```

**Alias** : `extractAllGroups`

**Arguments**

* `s` — Chaîne d’entrée depuis laquelle extraire. [`String`](/fr/reference/data-types/string) ou [`FixedString`](/fr/reference/data-types/fixedstring)
* `regexp` — Expression régulière à faire correspondre. [`const String`](/fr/reference/data-types/string) ou [`const FixedString`](/fr/reference/data-types/fixedstring)

**Valeur renvoyée**

Renvoie un tableau de tableaux, où chaque tableau interne contient les groupes capturés pour une correspondance. Chaque correspondance produit un tableau dont les éléments correspondent aux groupes de capture de l’expression régulière (groupe 1, groupe 2, etc.). Si aucune correspondance n’est trouvée, renvoie un tableau vide. [`Array(Array(String))`](/fr/reference/data-types/array)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
WITH '< Server: nginx
< Date: Tue, 22 Jan 2019 00:26:14 GMT
< Content-Type: text/html; charset=UTF-8
< Connection: keep-alive
' AS s
SELECT extractAllGroupsVertical(s, '< ([\\w\\-]+): ([^\\r\\n]+)');
```

```response title=Response theme={null}
[['Server','nginx'],['Date','Tue, 22 Jan 2019 00:26:14 GMT'],['Content-Type','text/html; charset=UTF-8'],['Connection','keep-alive']]
```

<div id="ngrams">
  ## ngrams
</div>

Introduit dans : v21.11.0

Découpe une chaîne UTF-8 en n-grammes de longueur `N`.

**Syntaxe**

```sql theme={null}
ngrams(s, N)
```

**Arguments**

* `s` — Chaîne d’entrée. [`String`](/fr/reference/data-types/string) ou [`FixedString`](/fr/reference/data-types/fixedstring)
* `N` — Longueur du n-gramme. [`const UInt8/16/32/64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau de n-grammes. [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT ngrams('ClickHouse', 3);
```

```response title=Response theme={null}
['Cli','lic','ick','ckH','kHo','Hou','ous','use']
```

<div id="reverseBySeparator">
  ## reverseBySeparator
</div>

Introduite dans : v26.2.0

Inverse l'ordre des sous-chaînes d'une chaîne, séparées par un séparateur donné.
Cette fonction découpe la chaîne selon le séparateur, inverse l'ordre des parties obtenues,
puis les réassemble à l'aide du même séparateur. Elle est utile pour analyser des noms de domaine,
des chemins de fichiers ou d'autres données hiérarchiques lorsqu'il faut inverser l'ordre des éléments.

Exemples :

* reverseBySeparator('[www.google.com](http://www.google.com)') renvoie 'com.google.www'
* reverseBySeparator('a/b/c', '/') renvoie 'c/b/a'
* reverseBySeparator('x::y::z', '::') renvoie 'z::y::x'

**Syntaxe**

```sql theme={null}
reverseBySeparator(string[, separator])
```

**Arguments**

* `string` — La chaîne d’entrée dont il faut inverser l’ordre des segments. [`String`](/fr/reference/data-types/string)
* `separator` — La chaîne utilisée comme séparateur pour identifier les segments. S’il n’est pas fourni, '.' (point) est utilisé. Par défaut : '.' [`String`](/fr/reference/data-types/string)

**Valeur renvoyée**

Renvoie une chaîne dont les sous-chaînes sont réordonnées de droite à gauche par rapport à la chaîne d’origine, en utilisant le même séparateur. [`String`](/fr/reference/data-types/string)

**Exemples**

**Inversion de domaine simple**

```sql title=Query theme={null}
SELECT reverseBySeparator('www.google.com')
```

```response title=Response theme={null}
'com.google.www'
```

**Inversion du chemin**

```sql title=Query theme={null}
SELECT reverseBySeparator('a/b/c', '/')
```

```response title=Response theme={null}
'c/b/a'
```

**Séparateur personnalisé**

```sql title=Query theme={null}
SELECT reverseBySeparator('x::y::z', '::')
```

```response title=Response theme={null}
'z::y::x'
```

**Cas particulier avec des points**

```sql title=Query theme={null}
SELECT reverseBySeparator('.a.b.', '.')
```

```response title=Response theme={null}
'.b.a.'
```

**Élément unique**

```sql title=Query theme={null}
SELECT reverseBySeparator('single')
```

```response title=Response theme={null}
'single'
```

**Séparateur vide**

```sql title=Query theme={null}
SELECT reverseBySeparator('abcde', '')
```

```response title=Response theme={null}
'edcba'
```

<div id="splitByChar">
  ## splitByChar
</div>

Introduit dans : v1.1.0

Divise une chaîne, séparée par la chaîne constante spécifiée `separator` composée d'exactement un caractère, en un tableau de sous-chaînes.
Des sous-chaînes vides peuvent être renvoyées si le séparateur apparaît au début ou à la fin de la chaîne, ou s'il y a plusieurs séparateurs consécutifs.

<Note>
  Le paramètre [`splitby_max_substrings_includes_remaining_string`](/fr/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (par défaut : `0`) détermine si la chaîne restante est incluse dans le dernier élément du tableau résultant lorsque l'argument `max_substrings > 0`.
</Note>

Des sous-chaînes vides peuvent être renvoyées dans les cas suivants :

* Un séparateur apparaît au début ou à la fin de la chaîne
* Il y a plusieurs séparateurs consécutifs
* La chaîne d'origine `s` est vide

**Syntaxe**

```sql theme={null}
splitByChar(separator, s[, max_substrings])
```

**Arguments**

* `separator` — Le séparateur doit être un caractère sur un seul octet. [`String`](/fr/reference/data-types/string)
* `s` — La chaîne à découper. [`String`](/fr/reference/data-types/string)
* `max_substrings` — Facultatif. Si `max_substrings > 0`, le tableau renvoyé contiendra au plus `max_substrings` sous-chaînes ; sinon, la fonction renverra autant de sous-chaînes que possible. La valeur par défaut est `0`.  [`Int64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Retourne un tableau des sous-chaînes sélectionnées. [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT splitByChar(',', '1,2,3,abcde');
```

```response title=Response theme={null}
┌─splitByChar(⋯2,3,abcde')─┐
│ ['1','2','3','abcde']    │
└──────────────────────────┘
```

<div id="splitByNonAlpha">
  ## splitByNonAlpha
</div>

Introduit dans : v21.9.0

Découpe une chaîne délimitée par des caractères d’espacement et de ponctuation en un tableau de sous-chaînes.

<Note>
  Le paramètre [`splitby_max_substrings_includes_remaining_string`](/fr/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (par défaut : `0`) détermine si le reste de la chaîne est inclus dans le dernier élément du tableau de résultats lorsque l’argument `max_substrings > 0`.
</Note>

**Syntaxe**

```sql theme={null}
splitByNonAlpha(s[, max_substrings])
```

**Arguments**

* `s` — La chaîne à découper. [`String`](/fr/reference/data-types/string)
* `max_substrings` — Facultatif. Lorsque `max_substrings > 0`, le nombre de sous-chaînes renvoyées ne dépassera pas `max_substrings` ; sinon, la fonction renverra autant de sous-chaînes que possible. Valeur par défaut : `0`. [`Int64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau contenant les sous-chaînes sélectionnées de `s`. [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT splitByNonAlpha('user@domain.com');
```

```response title=Response theme={null}
['user','domain','com']
```

<div id="splitByRegexp">
  ## splitByRegexp
</div>

Introduit dans : v21.6.0

Scinde une chaîne, en utilisant l’expression régulière fournie comme séparateur, en un tableau de sous-chaînes.
Si l’expression régulière fournie est vide, la chaîne sera scindée en un tableau de caractères individuels.
Si aucune correspondance avec l’expression régulière n’est trouvée, la chaîne ne sera pas scindée.

Des sous-chaînes vides peuvent être produites lorsque :

* une correspondance non vide avec l’expression régulière se produit au début ou à la fin de la chaîne
* plusieurs correspondances non vides avec l’expression régulière se suivent
* la chaîne d’origine est vide alors que l’expression régulière ne l’est pas.

<Note>
  Le paramètre [`splitby_max_substrings_includes_remaining_string`](/fr/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (par défaut : `0`) détermine si la chaîne restante est incluse dans le dernier élément du tableau de résultats lorsque l’argument `max_substrings > 0`.
</Note>

**Syntaxe**

```sql theme={null}
splitByRegexp(regexp, s[, max_substrings])
```

**Arguments**

* `regexp` — Expression régulière. Constante. [`String`](/fr/reference/data-types/string) ou [`FixedString`](/fr/reference/data-types/fixedstring)
* `s` — La chaîne à découper. [`String`](/fr/reference/data-types/string)
* `max_substrings` — Facultatif. Lorsque `max_substrings > 0`, le nombre de sous-chaînes renvoyées ne dépassera pas `max_substrings` ; sinon, la fonction renverra autant de sous-chaînes que possible. Valeur par défaut : `0`. [`Int64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau des sous-chaînes sélectionnées de `s`. [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT splitByRegexp('\\d+', 'a12bc23de345f');
```

```response title=Response theme={null}
┌─splitByRegex⋯c23de345f')─┐
│ ['a12bc23de345f']        │
└──────────────────────────┘
```

**Expression régulière vide**

```sql title=Query theme={null}
SELECT splitByRegexp('', 'abcde');
```

```response title=Response theme={null}
┌─splitByRegexp('', 'abcde')─┐
│ ['a','b','c','d','e']      │
└────────────────────────────┘
```

<div id="splitByString">
  ## splitByString
</div>

Introduit dans : v1.1.0

Divise une chaîne à l’aide d’un `separator` constant composé de plusieurs caractères en un tableau de sous-chaînes.
Si la chaîne `separator` est vide, la chaîne `s` est divisée en un tableau de caractères individuels.

Des sous-chaînes vides peuvent être produites lorsque :

* Un séparateur non vide apparaît au début ou à la fin de la chaîne
* Plusieurs séparateurs non vides se suivent
* La chaîne d’origine `s` est vide alors que le séparateur ne l’est pas

<Note>
  Le paramètre [`splitby_max_substrings_includes_remaining_string`](/fr/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (par défaut : `0`) détermine si la chaîne restante est incluse dans le dernier élément du tableau de résultats lorsque l’argument `max_substrings > 0`.
</Note>

**Syntaxe**

```sql theme={null}
splitByString(separator, s[, max_substrings])
```

**Arguments**

* `separator` — Le séparateur. [`String`](/fr/reference/data-types/string)
* `s` — La chaîne à scinder. [`String`](/fr/reference/data-types/string)
* `max_substrings` — Facultatif. Lorsque `max_substrings > 0`, le nombre de sous-chaînes renvoyées ne dépassera pas `max_substrings` ; sinon, la fonction renverra autant de sous-chaînes que possible. Valeur par défaut : `0`. [`Int64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau contenant les sous-chaînes sélectionnées de `s` [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT splitByString(', ', '1, 2 3, 4,5, abcde');
```

```response title=Response theme={null}
┌─splitByStrin⋯4,5, abcde')─┐
│ ['1','2 3','4,5','abcde'] │
└───────────────────────────┘
```

**Séparateur vide**

```sql title=Query theme={null}
SELECT splitByString('', 'abcde');
```

```response title=Response theme={null}
┌─splitByString('', 'abcde')─┐
│ ['a','b','c','d','e']      │
└────────────────────────────┘
```

<div id="splitByWhitespace">
  ## splitByWhitespace
</div>

Introduit dans : v21.9.0

Découpe une chaîne délimitée par des caractères d’espacement en un tableau de sous-chaînes.

<Note>
  Le paramètre [`splitby_max_substrings_includes_remaining_string`](/fr/reference/settings/session-settings#splitby_max_substrings_includes_remaining_string) (par défaut : `0`) détermine si le reste de la chaîne est inclus dans le dernier élément du tableau résultant lorsque l’argument `max_substrings > 0`.
</Note>

**Syntaxe**

```sql theme={null}
splitByWhitespace(s[, max_substrings])
```

**Arguments**

* `s` — La chaîne à découper. [`String`](/fr/reference/data-types/string)
* `max_substrings` — Facultatif. Lorsque `max_substrings > 0`, le nombre de sous-chaînes renvoyées ne dépasse pas `max_substrings` ; sinon, la fonction renvoie autant de sous-chaînes que possible. Valeur par défaut : `0`. [`Int64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau des sous-chaînes sélectionnées de `s`. [`Array(String)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT splitByWhitespace('  1!  a,  b.  ');
```

```response title=Response theme={null}
['1!','a,','b.']
```

<div id="tokens">
  ## tokens
</div>

Introduit dans : v21.11.0

Découpe une chaîne en tokens à l’aide du tokenizer indiqué.

Tokenizers disponibles :

* `splitByNonAlpha` découpe les chaînes sur les caractères ASCII non alphanumériques (voir aussi la fonction [splitByNonAlpha](/fr/reference/functions/regular-functions/splitting-merging-functions#splitByNonAlpha)).
* `splitByString(S)` découpe les chaînes selon certaines chaînes séparatrices `S` définies par l’utilisateur (voir aussi la fonction [splitByString](/fr/reference/functions/regular-functions/splitting-merging-functions#splitByString)). Les séparateurs peuvent être spécifiés à l’aide d’un paramètre facultatif, par exemple `tokens(value, 'splitByString', [', ', '; ', '\n', '\\'])`. Notez que chaque chaîne peut être composée de plusieurs caractères (`', '` dans l’exemple). La liste de séparateurs par défaut, si elle n’est pas explicitement spécifiée, est un seul espace `[' ']`.
* `asciiCJK` découpe les chaînes en tokens en appliquant les règles Unicode de délimitation des mots (similaires à UAX #29). Les caractères ASCII alphanumériques et les traits de soulignement forment des tokens avec des connecteurs (`:` pour les lettres, `.` et `'` pour les caractères de même type). Les caractères Unicode non ASCII deviennent des tokens d’un seul caractère.
* `ngrams(N)` découpe les chaînes en `N`-grammes de taille identique (voir aussi la fonction [ngrams](/fr/reference/functions/regular-functions/splitting-merging-functions#ngrams)). La longueur des ngrams peut être spécifiée à l’aide d’un paramètre entier facultatif compris entre 1 et 8, par exemple `tokens(value, 'ngrams', 3)`. La taille de ngram par défaut, si elle n’est pas explicitement spécifiée, est 3.
* `sparseGrams(min_length, max_length, min_cutoff_length)` découpe les chaînes en n-grammes de longueur variable comportant au minimum `min_length` caractères et au maximum `max_length` caractères (bornes incluses) (voir aussi la fonction [sparseGrams](/fr/reference/functions/regular-functions/string-functions#sparseGrams)). Sauf indication explicite, `min_length` et `max_length` valent respectivement 3 et 100. Si le paramètre `min_cutoff_length` est fourni, seuls les n-grammes dont la longueur est supérieure ou égale à `min_cutoff_length` sont renvoyés. Par rapport à `ngrams(N)`, le tokenizer `sparseGrams` produit des N-grammes de longueur variable, ce qui permet une représentation plus souple du texte d’origine. Par exemple, `tokens(value, 'sparseGrams', 3, 5, 4)` génère en interne des 3-, 4- et 5-grammes à partir de la chaîne d’entrée, mais seuls les 4- et 5-grammes sont renvoyés.
* `array` n’effectue aucune tokenisation, c’est-à-dire que chaque valeur de ligne constitue un token (voir aussi la fonction [array](/fr/reference/functions/regular-functions/array-functions#array)).

Dans le cas du tokenizer `splitByString`, si les tokens ne forment pas un [code préfixe](https://en.wikipedia.org/wiki/Prefix_code), vous souhaiterez probablement que la correspondance privilégie d’abord les séparateurs les plus longs.
Pour ce faire, transmettez les séparateurs par ordre décroissant de longueur.
Par exemple, avec separators = `['%21', '%']`, la chaîne `%21abc` serait découpée en `['abc']`, tandis que separators = `['%', '%21']` donnerait `['21ac']` (ce qui n’est probablement pas ce que vous vouliez).

**Syntaxe**

```sql theme={null}
tokens(value) -- 'splitByNonAlpha' tokenizer
tokens(value, 'splitByNonAlpha')
tokens(value, 'splitByString'[, separators])
tokens(value, 'asciiCJK')
tokens(value, 'ngrams'[, n])
tokens(value, 'sparseGrams'[, min_length, max_length[, min_cutoff_length]])
tokens(value, 'array')
```

**Arguments**

* `value` — La chaîne d'entrée. [`String`](/fr/reference/data-types/string) ou [`FixedString`](/fr/reference/data-types/fixedstring)
* `tokenizer` — Le tokenizer à utiliser. Les valeurs acceptées sont `splitByNonAlpha`, `splitByString`, `asciiCJK`, `ngrams`, `sparseGrams` et `array`. Facultatif ; s'il n'est pas défini explicitement, la valeur par défaut est `splitByNonAlpha`. [`const String`](/fr/reference/data-types/string)
* `n` — Pertinent uniquement si l'argument `tokenizer` est `ngrams` : paramètre facultatif qui définit la longueur des ngrammes. S'il n'est pas défini explicitement, la valeur par défaut est `3`. [`const UInt8`](/fr/reference/data-types/int-uint)
* `separators` — Pertinent uniquement si l'argument `tokenizer` est `split` : paramètre facultatif qui définit les chaînes de séparation. S'il n'est pas défini explicitement, la valeur par défaut est `[' ']`. [`const Array(String)`](/fr/reference/data-types/array)
* `min_length` — Pertinent uniquement si l'argument `tokenizer` est `sparseGrams` : paramètre facultatif qui définit la longueur minimale des grammes, par défaut `3`. [`const UInt8`](/fr/reference/data-types/int-uint)
* `max_length` — Pertinent uniquement si l'argument `tokenizer` est `sparseGrams` : paramètre facultatif qui définit la longueur maximale des grammes, par défaut `100`. [`const UInt8`](/fr/reference/data-types/int-uint)
* `min_cutoff_length` — Pertinent uniquement si l'argument `tokenizer` est `sparseGrams` : paramètre facultatif qui définit la longueur minimale de coupure. [`const UInt8`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie le tableau de tokens résultant de la chaîne d'entrée. [`Array`](/fr/reference/data-types/array)

**Exemples**

**Tokenizer par défaut**

```sql title=Query theme={null}
SELECT tokens('test1,;\\\\ test2,;\\\\ test3,;\\\\   test4') AS tokens;
```

```response title=Response theme={null}
['test1','test2','test3','test4']
```

**Tokenizer n-gram**

```sql title=Query theme={null}
SELECT tokens('abc def', 'ngrams', 3) AS tokens;
```

```response title=Response theme={null}
['abc','bc ','c d',' de','def']
```

<div id="tokensForLikePattern">
  ## tokensForLikePattern
</div>

Introduit dans : v26.3.0

Découpe une chaîne de motif LIKE en tokens à l’aide du tokenizer spécifié.

Contrairement à la fonction `tokens`, cette fonction tient compte de la sémantique des motifs LIKE
(comme les caractères génériques en début et en fin) et applique des règles
propres au tokenizer pour extraire des tokens pertinents pour la correspondance de motifs.

Elle prend en charge les mêmes jeux d’arguments que la fonction `tokens` ; les
arguments supplémentaires après `tokenizer` sont interprétés en fonction du
tokenizer sélectionné (par exemple, `n` pour `ngrams`, `separators` pour `splitByString`,
et `min_length` / `max_length` \[/ `min_cutoff_length`] pour `sparseGrams`).

Cette fonction est principalement destinée au débogage et aux tests,
et est utilisée en interne pour analyser le comportement de la tokenisation des motifs LIKE.

**Syntaxe**

```sql theme={null}
tokensForLikePattern(value[, tokenizer[, tokenizer_specific_arguments...]])
```

**Arguments**

* `value` — La chaîne d’entrée. [`String`](/fr/reference/data-types/string) ou [`FixedString`](/fr/reference/data-types/fixedstring)
* `tokenizer` — Le tokenizer à utiliser. Les arguments valides sont `splitByNonAlpha`, `splitByString`, `asciiCJK`, `ngrams`, `sparseGrams` et `array`. Facultatif ; s’il n’est pas défini explicitement, sa valeur par défaut est `splitByNonAlpha`. [`const String`](/fr/reference/data-types/string)
* `n` — Pertinent uniquement si l’argument `tokenizer` est `ngrams` : paramètre facultatif qui définit la longueur des ngrams. S’il n’est pas défini explicitement, sa valeur par défaut est `3`. [`const UInt8`](/fr/reference/data-types/int-uint)
* `separators` — Pertinent uniquement si l’argument `tokenizer` est `split` : paramètre facultatif qui définit les chaînes de séparation. S’il n’est pas défini explicitement, sa valeur par défaut est `[' ']`. [`const Array(String)`](/fr/reference/data-types/array)
* `min_length` — Pertinent uniquement si l’argument `tokenizer` est `sparseGrams` : paramètre facultatif qui définit la longueur minimale des grammes, par défaut `3`. [`const UInt8`](/fr/reference/data-types/int-uint)
* `max_length` — Pertinent uniquement si l’argument `tokenizer` est `sparseGrams` : paramètre facultatif qui définit la longueur maximale des grammes, par défaut `100`. [`const UInt8`](/fr/reference/data-types/int-uint)
* `min_cutoff_length` — Pertinent uniquement si l’argument `tokenizer` est `sparseGrams` : paramètre facultatif qui définit la longueur minimale de coupure. [`const UInt8`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie le tableau de tokens obtenu à partir de la chaîne d’entrée. [`Array`](/fr/reference/data-types/array)

**Exemples**

**Tokenizer par défaut**

```sql title=Query theme={null}
SELECT tokensForLikePattern('%test1,test2,test3%') AS tokens;
```

```response title=Response theme={null}
['test2']
```
