Passer au contenu principal
Les fonctions générales sur les chaînes de caractères et les fonctions de recherche 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.

format

Introduit dans : v20.1.0 Met en forme la chaîne pattern avec les valeurs (chaînes, entiers, etc.) listées dans les arguments, de manière similaire au formatage en Python. La chaîne de motif peut contenir des champs de remplacement entourés d’accolades {}. Tout ce qui n’est pas entre accolades est considéré comme du texte littéral et copié tel quel dans la sortie. Le caractère d’accolade littéral peut être échappé avec deux accolades : {{ et }}. Les noms de champ peuvent être des nombres (à partir de zéro) ou être vides (dans ce cas, des nombres croissants leur sont attribués implicitement). Syntaxe
format(pattern, s0[, s1, ...])
Arguments
  • pattern — La chaîne de format contenant des marqueurs de substitution. String
  • s0[, s1, ...] — Une ou plusieurs valeurs à insérer dans la chaîne de format. Any
Valeur renvoyée Renvoie une chaîne formatée. String Exemples Marqueurs de substitution numérotés
Query
SELECT format('{1} {0} {1}', 'World', 'Hello')
Response
┌─format('{1} {0} {1}', 'World', 'Hello')─┐
│ Hello World Hello                       │
└─────────────────────────────────────────┘
Numérotation implicite
Query
SELECT format('{} {}', 'Hello', 'World')
Response
┌─format('{} {}', 'Hello', 'World')─┐
│ Hello World                       │
└───────────────────────────────────┘

overlay

Introduit dans : v24.9.0 Remplace une partie de la chaîne input par une autre chaîne replace, à partir de l’indice offset (indexé à partir de 1). Syntaxe
overlay(s, replace, offset[, length])
Arguments
  • s — La chaîne d’entrée. String
  • replace — La chaîne de remplacement const String
  • offset — Un entier de type Int (indexé à partir de 1). Si offset est négatif, il est compté à partir de la fin de la chaîne s. Int
  • length — Facultatif. Un entier de type Int. length indique la longueur de la portion de la chaîne d’entrée s à remplacer. Si length n’est pas spécifié, le nombre d’octets supprimés de s est égal à la longueur de replace ; sinon, length octets sont supprimés. Int
Valeur renvoyée Renvoie une chaîne avec le remplacement appliqué. String Exemples Remplacement de base
Query
SELECT overlay('My father is from Mexico.', 'mother', 4) AS res;
Response
┌─res──────────────────────┐
│ My mother is from Mexico.│
└──────────────────────────┘
Remplacement avec une longueur
Query
SELECT overlay('My father is from Mexico.', 'dad', 4, 6) AS res;
Response
┌─res───────────────────┐
│ My dad is from Mexico.│
└───────────────────────┘

overlayUTF8

Introduit dans : v24.9.0 Remplace une partie de la chaîne s par une autre chaîne replace, à partir de l’index offset indexé à partir de 1. Suppose que la chaîne contient du texte valide encodé en UTF-8. Si cette hypothèse n’est pas respectée, aucune exception n’est levée et le résultat est indéfini. Syntaxe
overlayUTF8(s, replace, offset[, length])
Arguments
  • s — La chaîne d’entrée. String
  • replace — La chaîne de remplacement. const String
  • offset — Un entier de type Int (indexé à partir de 1). Si offset est négatif, il est compté à partir de la fin de la chaîne d’entrée s. (U)Int*
  • length — Facultatif. Indique la longueur de l’extrait de la chaîne d’entrée s à remplacer. Si length n’est pas spécifié, le nombre de caractères supprimés de s est égal à la longueur de replace ; sinon, length caractères sont supprimés. (U)Int*
Valeur renvoyée Renvoie une chaîne avec le remplacement effectué. String Exemples Remplacement UTF-8
Query
SELECT overlayUTF8('Mein Vater ist aus Österreich.', 'der Türkei', 20) AS res;
Response
┌─res───────────────────────────┐
│ Mein Vater ist aus der Türkei.│
└───────────────────────────────┘

printf

Introduit dans : v24.8.0 La fonction printf met en forme la chaîne donnée à l’aide des valeurs (chaînes, entiers, nombres à virgule flottante, etc.) listées dans les arguments, à l’instar de la fonction printf en C++. La chaîne de format peut contenir des spécificateurs de format commençant par le caractère %. Tout ce qui n’est pas inclus dans % et le spécificateur de format qui le suit est considéré comme du texte littéral et recopié tel quel dans la sortie. Le caractère % littéral peut être échappé avec %%. La chaîne de format peut être soit une constante, soit une expression de colonne, ce qui permet d’utiliser des formats différents pour chaque ligne. Syntaxe
printf(format[, sub1, sub2, ...])
Arguments
  • format — La chaîne de format contenant des spécificateurs %. String
  • sub1, sub2, ... — Facultatif. Zéro, une ou plusieurs valeurs à substituer dans la chaîne de format. Any
Valeur renvoyée Renvoie une chaîne formatée. String Exemples Formatage de style C++
Query
SELECT printf('%%%s %s %d', 'Hello', 'World', 2024);
Response
┌─printf('%%%s %s %d', 'Hello', 'World', 2024)─┐
│ %Hello World 2024                            │
└──────────────────────────────────────────────┘

regexpQuoteMeta

Introduite dans : v20.1.0 Ajoute une barre oblique inverse devant les caractères suivants, qui ont une signification particulière dans les expressions régulières : \0, \\, |, (, ), ^, $, ., [, ], ?, *, +, {, :, -. Cette implémentation diffère légèrement de re2::RE2::QuoteMeta. Elle échappe l’octet nul sous la forme \0 au lieu de \x00 et n’échappe que les caractères nécessaires. Syntaxe
regexpQuoteMeta(s)
Arguments
  • s — La chaîne d’entrée contenant les caractères à échapper dans une expression régulière. String
Valeur renvoyée Renvoie une chaîne dans laquelle les caractères spéciaux des expressions régulières sont échappés. String Exemples Échapper les caractères spéciaux d’une expression régulière
Query
SELECT regexpQuoteMeta('Hello. [World]? (Yes)*') AS res
Response
┌─res───────────────────────────┐
│ Hello\. \[World\]\? \(Yes\)\* │
└───────────────────────────────┘

replaceAll

Introduit dans : v1.1.0 Remplace toutes les occurrences de la sous-chaîne pattern dans la chaîne haystack par la chaîne replacement. Syntaxe
replaceAll(haystack, pattern, replacement)
Alias : replace Arguments
  • haystack — La chaîne d’entrée dans laquelle effectuer la recherche. String
  • pattern — La sous-chaîne à rechercher et à remplacer. const String
  • replacement — La chaîne de remplacement. const String
Valeur renvoyée Renvoie une chaîne dans laquelle toutes les occurrences du motif sont remplacées. String Exemples Remplacer toutes les occurrences
Query
SELECT replaceAll('Hello, Hello world', 'Hello', 'Hi') AS res;
Response
┌─res──────────┐
│ Hi, Hi world │
└──────────────┘

replaceOne

Introduit dans : v1.1.0 Remplace la première occurrence de la sous-chaîne pattern dans haystack par la chaîne de remplacement replacement. Syntaxe
replaceOne(haystack, pattern, replacement)
Arguments
  • haystack — La chaîne d’entrée dans laquelle effectuer la recherche. String
  • pattern — La sous-chaîne à rechercher et à remplacer. const String
  • replacement — La chaîne de remplacement. const String
Valeur renvoyée Renvoie une chaîne dans laquelle la première occurrence de la sous-chaîne a été remplacée. String Exemples Remplacer la première occurrence
Query
SELECT replaceOne('Hello, Hello world', 'Hello', 'Hi') AS res;
Response
┌─res─────────────┐
│ Hi, Hello world │
└─────────────────┘

replaceRegexpAll

Introduit dans : v1.1.0 Comme replaceRegexpOne, mais remplace toutes les occurrences du motif. Exception : si une expression régulière correspond à une sous-chaîne vide, le remplacement n’est pas effectué plus d’une fois. Syntaxe
replaceRegexpAll(haystack, pattern, replacement)
Alias : REGEXP_REPLACE Arguments
  • haystack — La chaîne d’entrée dans laquelle effectuer la recherche. String
  • pattern — Le motif d’expression régulière à rechercher. const String
  • replacement — La chaîne par laquelle remplacer le motif ; elle peut contenir des substitutions. const String
Valeur renvoyée Renvoie une chaîne dans laquelle toutes les correspondances de l’expression régulière sont remplacées. String Exemples Remplace tous les caractères par une version doublée
Query
SELECT replaceRegexpAll('Hello123', '.', '\\\\0\\\\0') AS res
Response
┌─res──────────────────┐
│ HHeelllloo112233     │
└──────────────────────┘
Exemple de remplacement d’une sous-chaîne vide
Query
SELECT replaceRegexpAll('Hello, World!', '^', 'here: ') AS res
Response
┌─res─────────────────┐
│ here: Hello, World! │
└─────────────────────┘

replaceRegexpOne

Introduit dans : v1.1.0 Remplace la première occurrence de la sous-chaîne correspondant à l’expression régulière pattern (en syntaxe re2) dans haystack par la chaîne replacement. replacement peut contenir des substitutions \0-\9. Les substitutions \1-\9 correspondent aux 1er à 9e groupes de capture (sous-correspondances), tandis que la substitution \0 correspond à l’ensemble de la correspondance. Pour utiliser un caractère \ littéral dans les chaînes pattern ou replacement, échappez-le avec \. Gardez également à l’esprit que les littéraux de chaîne nécessitent un échappement supplémentaire. Syntaxe
replaceRegexpOne(haystack, pattern, replacement)
Arguments
  • haystack — La chaîne d’entrée dans laquelle effectuer la recherche. String
  • pattern — Le motif d’expression régulière à rechercher. const String
  • replacement — La chaîne de remplacement du motif ; elle peut contenir des substitutions. const String
Valeur renvoyée Renvoie une chaîne dans laquelle la première correspondance à l’expression régulière est remplacée. String Exemples Conversion de dates ISO au format américain
Query
SELECT DISTINCT
    EventDate,
    replaceRegexpOne(toString(EventDate), '(\\d{4})-(\\d{2})-(\\d{2})', '\\2/\\3/\\1') AS res
FROM test.hits
LIMIT 7
FORMAT TabSeparated
Response
2014-03-17      03/17/2014
2014-03-18      03/18/2014
2014-03-19      03/19/2014
2014-03-20      03/20/2014
2014-03-21      03/21/2014
2014-03-22      03/22/2014
2014-03-23      03/23/2014
Copier une chaîne de caractères dix fois
Query
SELECT replaceRegexpOne('Hello, World!', '.*', '\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0') AS res
Response
┌─res────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World! │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

translate

Introduit dans : v22.7.0 Remplace les caractères de la chaîne s à l’aide d’une correspondance caractère par caractère définie par les chaînes from et to. from et to doivent être des chaînes ASCII constantes. Si from et to ont la même longueur, chaque occurrence du premier caractère de from dans s est remplacée par le premier caractère de to, la deuxième occurrence du caractère de from dans s est remplacée par le deuxième caractère de to, et ainsi de suite. Si from contient plus de caractères que to, toutes les occurrences des caractères situés à la fin de from et n’ayant pas de caractère correspondant dans to sont supprimées de s. Les caractères non ASCII de s ne sont pas modifiés par la fonction. Syntaxe
translate(s, from, to)
Arguments
  • s — La chaîne d’entrée à traduire. String
  • from — Une chaîne ASCII constante contenant les caractères à remplacer. const String
  • to — Une chaîne ASCII constante contenant les caractères de remplacement. const String
Valeur renvoyée Renvoie une chaîne avec les traductions de caractères appliquées. String Exemples Correspondance des caractères
Query
SELECT translate('Hello, World!', 'delor', 'DELOR') AS res
Response
┌─res───────────┐
│ HELLO, WORLD! │
└───────────────┘
Longueurs différentes
Query
SELECT translate('clickhouse', 'clickhouse', 'CLICK') AS res
Response
┌─res───┐
│ CLICK │
└───────┘

translateUTF8

Introduit dans : v22.7.0 Comme translate, mais en supposant que s, from et to sont des chaînes encodées en UTF-8. Syntaxe
translateUTF8(s, from, to)
Arguments
  • s — Chaîne d’entrée UTF-8 à convertir. String
  • from — Chaîne UTF-8 constante contenant les caractères à remplacer. const String
  • to — Chaîne UTF-8 constante contenant les caractères de remplacement. const String
Valeur renvoyée Renvoie une valeur de type String. String Exemples Conversion de caractères UTF-8
Query
SELECT translateUTF8('Münchener Straße', 'üß', 'us') AS res;
Response
┌─res──────────────┐
│ Munchener Strase │
└──────────────────┘
Dernière modification le 25 juin 2026