Tous les produits
Search
Centre de documentation

Simple Log Service:Fonctions de chaîne

Dernière mise à jour :Aug 07, 2026

Cette rubrique présente la syntaxe de base et des exemples d'utilisation des fonctions de chaîne.

Log Service prend en charge les fonctions de chaîne suivantes.

Important

Si vous souhaitez utiliser des chaînes de caractères dans des instructions analytiques, vous devez les entourer de guillemets simples (''). Les chaînes non entourées de guillemets ou entourées de guillemets doubles ("") désignent des noms de champ ou de colonne. Par exemple,

'status'

désigne la chaîne de caractères « status », tandis que

status

ou

"status"

désigne le champ de journal « status ».

Fonction

Syntaxe

Description

SQL

SPL

Fonction chr

chr(x)

Convertit un code ASCII en caractère.

Fonction codepoint

codepoint(x)

Convertit un caractère en code ASCII.

Fonction concat

concat(x, y...)

Concatène plusieurs chaînes de caractères.

Fonction from_utf8

from_utf8(x)

Décode une chaîne binaire au format texte UTF-8 et remplace tous les caractères invalides par le caractère de remplacement par défaut (U+FFFD).

from_utf8(x, replace_string)

Décode une chaîne binaire au format texte UTF-8 et remplace tous les caractères invalides par une chaîne personnalisée.

Fonction length

length(x)

Renvoie la longueur d'une chaîne de caractères.

Fonction levenshtein_distance

levenshtein_distance(x, y)

Calcule la distance d'édition minimale entre x et y.

×

Fonction lower

lower(x)

Convertit une chaîne de caractères en minuscules.

Fonction lpad

lpad(x, length, lpad_string)

Ajoute une chaîne spécifiée au début d'une autre chaîne jusqu'à atteindre une longueur donnée.

Fonction ltrim

ltrim(x)

Supprime les espaces de début d'une chaîne de caractères.

Fonction normalize

normalize(x)

Normalise une chaîne de caractères au format NFC.

×

Fonction position

position(sub_string in x)

Renvoie la position de départ de la première occurrence d'une sous-chaîne dans une autre chaîne.

×

Fonction replace

replace(x, sub_string )

Supprime toutes les occurrences d'une sous-chaîne spécifiée d'une chaîne de caractères.

replace(x, sub_string, replace_string)

Remplace toutes les occurrences d'une sous-chaîne spécifiée par une chaîne de remplacement.

Fonction reverse

reverse(x)

Inverse l'ordre des caractères d'une chaîne.

Fonction rpad

rpad(x, length, rpad_string)

Ajoute une chaîne spécifiée à la fin d'une autre chaîne jusqu'à atteindre une longueur donnée.

Fonction rtrim

rtrim(x)

Supprime les espaces de fin d'une chaîne de caractères.

Fonction split

split(x, delimiter)

Divise une chaîne de caractères selon un délimiteur et renvoie un tableau de sous-chaînes.

split(x, delimiter, limit)

Divise une chaîne de caractères selon un séparateur spécifié, utilise le paramètre limit pour limiter le nombre de divisions et renvoie un tableau des sous-chaînes résultantes.

Fonction split_part

split_part(x, delimiter, part)

Divise une chaîne de caractères selon un délimiteur et renvoie la sous-chaîne située à une position spécifiée.

Fonction split_to_map

split_to_map(x, delimiter01, delimiter02)

Divise une chaîne de caractères en une map de paires clé-valeur à l'aide de deux délimiteurs.

Fonction strpos

strpos(x, sub_string)

Cette fonction est un alias de position(sub_string in x).

Fonction substr

substr(x, start)

Extrait une sous-chaîne d'une chaîne de caractères à partir d'une position spécifiée.

substr(x, start, length)

Extrait une sous-chaîne d'une longueur spécifiée d'une chaîne de caractères à partir d'une position donnée.

Fonction to_utf8

to_utf8(x)

Encode une chaîne de caractères en une chaîne binaire UTF-8.

Fonction trim

trim(x)

Supprime les espaces de début et de fin d'une chaîne de caractères.

Fonction upper

upper(x)

Convertit une chaîne de caractères en majuscules.

Fonction csv_extract_map

csv_extract_map(x, delimiter, quote, keys)

Extrait des valeurs spécifiées d'une ligne de texte CSV dans une map.

×

Fonction ilike

ilike(x, pattern)

Vérifie si une chaîne correspond à un modèle, sans tenir compte de la casse.

Fonction str_uuid

str_uuid()

Génère un UUID aléatoire de 128 bits et le renvoie sous forme de chaîne.

×

Fonction gzip_compress

gzip_compress(data, compression_level)

Compresse une chaîne en un flux binaire à l'aide de l'algorithme GZIP.

×

Fonction gzip_decompress

gzip_decompress(binary_data)

Décompresse un flux binaire compressé au format GZIP et renvoie la chaîne d'origine.

×

Fonction search

search(search_expression)

Effectue une recherche en texte intégral sur les données de journal dans une instruction analytique SQL. Prend en charge les opérations booléennes, les recherches par champ, les requêtes floues et les requêtes de plage.

×

Fonction chr

La fonction chr convertit un code ASCII en caractère.

Syntaxe

chr(x)

Paramètres

Paramètre

Description

x

Le code ASCII.

Type de retour

varchar.

Exemple

Détermine si la première lettre de la valeur du champ region est « c », sachant que 99 est le code ASCII de la lettre minuscule « c ».

  • Champ d'exemple

    region:cn-shanghai
  • Instruction de requête et d'analyse (Test)

    * | SELECT
      substr(region, 1, 1) = chr(99)
  • Résultats de la requête et de l'analyse : la valeur renvoyée pour la colonne _col0 est true, ce qui indique que le premier caractère du champ region correspond à chr(99) (le caractère c).

Fonction codepoint

La fonction codepoint convertit un caractère en code ASCII.

Syntaxe

codepoint(x)

Paramètres

Paramètre

Description

x

Le caractère à convertir, qui doit être de type varchar.

Type de valeur de retour

integer.

Exemple

Déterminez si la première lettre de la valeur du champ region est « c », sachant que 99 est le code ASCII de la lettre minuscule « c ».

  • Champ d'exemple

    upstream_status:200
  • Instruction de requête (test)

    * | SELECT
      codepoint(cast (substr(region, 1, 1) AS char(1))) = 99
  • Résultats de la requête et de l'analyse : la colonne _col0 renvoie deux lignes de données, dont la valeur est true pour les deux.

Fonction concat

Concatène plusieurs chaînes de caractères en une seule.

Syntaxe

concat(x, y...)

Paramètres

Paramètre

Description

x

La valeur doit être de type varchar.

y

La valeur doit être de type varchar.

Type de valeur de retour

La valeur renvoyée est de type varchar.

Exemple

Concaténez les valeurs des champs region et request_method en une seule chaîne.

  • Champs d'exemple

    region:cn-shanghai
    time:14/Jul/2021:02:19:40
  • Instruction de requête et d'analyse (Test)

    * | SELECT
      concat(region, '-', time)
  • Dans les résultats de la requête et de l'analyse, la colonne _col0 renvoie une chaîne concaténée, telle que cn-shanghai-14/Jul/2021:01:16:30.

Fonction from_utf8

Décode une chaîne binaire au format d'encodage UTF-8.

Syntaxe

  • Remplace les caractères UTF-8 invalides par le caractère de remplacement par défaut, U+FFFD.

    from_utf8(x)
  • Remplace les caractères UTF-8 invalides par un caractère spécifié.

    from_utf8(x,replace_string)

Paramètres

Paramètre

Description

x

La chaîne binaire à décoder.

replace_string

Un caractère unique ou un espace facultatif utilisé pour remplacer les caractères UTF-8 invalides.

Type de valeur de retour

varchar

Exemples

  • Décode la chaîne binaire 0x80 et remplace les caractères UTF-8 invalides par le caractère de remplacement par défaut (U+FFFD).

    • Instruction de requête et d'analyse (Déboguer)

      * | SELECT
        from_utf8(from_base64('0x80'))
    • Résultats de la requête et de l'analyse : la requête renvoie une seule colonne _col0. La valeur est une chaîne contenant le caractère de remplacement (U+FFFD), ce qui signifie que les octets UTF-8 invalides ont été remplacés par le caractère de remplacement par défaut.

  • Décode la chaîne binaire 0x80 et remplace les caractères UTF-8 invalides par « 0 ».

    • Instruction de requête et d'analyse (Déboguer)

      * | SELECT
        from_utf8(from_base64('0x80'), '0')
    • Les résultats de la requête et de l'analyse renvoient une seule colonne nommée _col0 avec la valeur 0□4. Le carré représente un octet qui ne peut pas être rendu correctement, ce qui correspond à la sortie de la fonction from_utf8 après remplacement d'un octet UTF-8 invalide.

Fonction length

Renvoie la longueur d'une chaîne de caractères.

Syntaxe

length(x)

Paramètres

Paramètre

Description

x

Une valeur de type varchar.

Valeur de retour

bigint

Exemple

Calculez la longueur de la valeur du champ http_user_agent.

  • Champ d'exemple

    http_user_agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2
  • Instruction de requête (Test)

    * | SELECT
      length(http_user_agent)
  • Le résultat de la requête et de l'analyse est 127, ce qui représente la longueur de la chaîne de la valeur du champ http_user_agent.

levenshtein_distance

Calcule la distance d'édition minimale entre deux chaînes de caractères.

Syntaxe

levenshtein_distance(x, y)

Paramètres

Paramètre

Description

x

Une valeur de type varchar.

y

Une valeur de type varchar.

Valeur de retour

bigint.

Exemple

Interrogez la distance d'édition minimale entre les valeurs des champs instance_id et owner_id.

  • Champs d'exemple

    instance_id:i-01
    owner_id:owner-01
  • Instruction de requête et d'analyse (déboguer)

    * | SELECT
      levenshtein_distance(owner_id, instance_id)
  • Le résultat de la requête et de l'analyse est 5.

Fonction lower

Convertit une chaîne de caractères en minuscules.

Syntaxe

lower(x)

Paramètres

Paramètre

Description

x

Une chaîne de type varchar.

Type de retour

varchar

Exemple

Convertissez la valeur du champ request_method en minuscules.

  • Champ d'exemple

    request_method:GET
  • Instruction de requête et d'analyse (Déboguer)

    * | SELECT
      lower(request_method)
  • Les résultats de la requête et de l'analyse sont get.

Fonction lpad

La fonction lpad ajoute des caractères spécifiés au début d'une chaîne jusqu'à atteindre une longueur donnée.

Syntaxe

lpad(x, length, lpad_string)

Paramètres

Paramètre

Description

x

La valeur doit être de type varchar.

length

Entier spécifiant la longueur souhaitée de la chaîne résultante.

  • Si la chaîne d'origine est plus courte que length, la fonction la complète à gauche.

  • Si la chaîne d'origine est plus longue que length, la fonction la tronque à length caractères.

lpad_string

Le caractère ou la chaîne à utiliser pour le remplissage.

Type de retour

varchar

Exemple

Complétez la valeur du champ instance_id avec des zéros à gauche pour atteindre une longueur de 10 chiffres.

  • Champ d'exemple

    instance_id:i-01
  • Instruction de requête (Test)

    * | SELECT
      lpad(instance_id, 10, '0')
  • Dans les résultats de la requête et de l'analyse, la valeur de retour de la colonne _col0 est 000000i-01.

Fonction ltrim

Supprime les espaces de début d'une chaîne de caractères.

Syntaxe

ltrim(x)

Paramètres

Paramètre

Description

x

La chaîne d'entrée. Elle doit être de type varchar.

Type de valeur de retour

varchar

Exemple

Supprimez les espaces de début de la valeur du champ region.

  • Champ d'exemple

    region: cn-shanghai
  • Instruction de requête et d'analyse (Test)

    * | SELECT
      ltrim(region)
  • Le résultat est cn-shanghai.

Fonction normalize

Normalise une chaîne de caractères au format Normalization Form C (NFC).

Syntaxe

normalize(x)

Paramètres

Paramètre

Description

x

La chaîne de type varchar à normaliser.

Type de valeur de retour

varchar.

Exemple

Cet exemple normalise la chaîne « schön » au format NFC.

  • Instruction de requête (déboguer)

    * | SELECT
      normalize('schön')
  • Les résultats de la requête et de l'analyse renvoient une ligne et une colonne, où le nom de la colonne est _col0 et la valeur est schön.

Fonction position

Renvoie la position de départ d'une sous-chaîne dans une chaîne.

Syntaxe

position(sub_string in x)

Paramètres

Paramètre

Description

sub_string

La sous-chaîne à rechercher.

x

La chaîne à rechercher, qui doit être de type varchar.

Type de valeur de retour

Renvoie un entier représentant la position de départ (indexée à partir de 1) de la sous-chaîne. Si la sous-chaîne n'est pas trouvée, la fonction renvoie 0.

Exemple

Trouvez la position de la sous-chaîne cn dans le champ region.

  • Champ d'exemple

    region:cn-shanghai
  • Instruction de requête et d'analyse (Test)

    * | SELECT
      position('cn' in region)
  • Résultats de la requête et de l'analyse : la colonne _col0 renvoie 1, ce qui indique que la sous-chaîne cn commence à la position 1 dans la chaîne cn-shanghai.

Fonction replace

La fonction replace supprime ou remplace toutes les occurrences d'une sous-chaîne spécifiée dans une chaîne.

Syntaxe

  • Supprime toutes les occurrences d'une sous-chaîne d'une chaîne.

    replace(x, sub_string)
  • Remplace toutes les occurrences d'une sous-chaîne par une autre chaîne.

    replace(x, sub_string, replace_string)

Paramètres

Paramètre

Description

x

La chaîne source. Le type de données doit être varchar.

sub_string

La sous-chaîne à supprimer ou à remplacer.

replace_string

La chaîne de remplacement.

Type de valeur de retour

varchar

Exemples

  • Exemple 1 : Dans la valeur du champ region, remplacez cn par China.

    • Champ d'exemple

      region:cn-shanghai
    • Instruction de requête et d'analyse (Déboguer)

      * | select
        replace(region, 'cn', '中国')
    • Dans les résultats de la requête et de l'analyse, la valeur de la colonne _col0 est China-shanghai.

  • Exemple 2 : Supprimez cn- de la valeur du champ region.

    • Champ d'exemple

      region:cn-shanghai
    • Instruction de requête et d'analyse (Déboguer)

      * | select
        replace(region, 'cn-')
    • Le résultat de la requête et de l'analyse est shanghai.

Fonction reverse

La fonction reverse renvoie une chaîne dont les caractères sont inversés.

Syntaxe

reverse(x)

Paramètres

Paramètre

Description

x

La chaîne d'entrée, qui doit être de type varchar.

Type de valeur de retour

varchar

Exemple

Inversez la valeur du champ request_method.

  • Champ d'exemple

    request_method:GET
  • Instruction de requête (Test)

    * | SELECT
      reverse(request_method)
  • Le résultat est TEG.

Fonction rpad

Ajoute des caractères spécifiés à la fin d'une chaîne jusqu'à atteindre une longueur donnée.

Syntaxe

rpad(x, length, rpad_string)

Paramètres

Paramètre

Description

x

La chaîne source, qui doit être de type varchar.

length

Longueur souhaitée de la chaîne résultante, spécifiée sous forme d'entier.

  • Si la chaîne d'origine est plus courte que length, la fonction la complète à droite.

  • Si la chaîne d'origine est plus longue que length, la fonction la tronque à length caractères.

rpad_string

Le caractère ou la chaîne à utiliser pour le remplissage.

Type de valeur de retour

varchar.

Exemple

L'exemple suivant complète la valeur du champ instance_id avec des zéros à droite pour atteindre une longueur de 10.

  • Champ d'exemple

    instance_id:i-01
  • Instruction de requête (déboguer)

    * | SELECT
      rpad(instance_id, 10, '0')
  • Résultats de la requête et de l'analyse : la colonne _col0 renvoie la valeur i-01000000.

Fonction rtrim

Supprime les espaces de fin d'une chaîne de caractères.

Syntaxe

rtrim(x)

Paramètres

Paramètre

Description

x

La chaîne source, qui doit être de type varchar.

Type de retour

varchar

Exemple

Cette requête supprime les espaces de fin de la valeur du champ instance_id.

  • Champ d'exemple

    instance_id:i-01 
  • Instruction de requête (déboguer)

    * | SELECT
      rtrim(instance_id)
  • Résultats de la requête et de l'analyse : la valeur de retour de la colonne _col0 est i-01.

Fonction split

La fonction split divise une chaîne en un tableau de sous-chaînes à l'aide d'un séparateur.

Syntaxe

  • Divise une chaîne selon un séparateur.

    split(x, delimiter)
  • Divise une chaîne selon un séparateur en un nombre maximal de sous-chaînes.

    split(x,delimiter,limit)

Paramètres

Paramètre

Description

x

La chaîne de type varchar à diviser.

delimiter

Le délimiteur utilisé pour diviser la chaîne.

limit

Le nombre maximal de sous-chaînes à renvoyer. La valeur doit être un entier positif.

Type de valeur de retour

array

Exemples

  • Exemple 1 : Divise la valeur du champ request_uri en quatre sous-chaînes à l'aide d'une barre oblique (/) et renvoie un tableau de ces sous-chaînes.

    • Champ d'exemple

      request_uri:/request/path-1/file-9
    • Instruction de requête et d'analyse (Test)

      * | SELECT
        split(request_uri, '/')
    • Résultats de la requête et de l'analyse : la requête renvoie ["" ,"request","path-1","file-9"], qui est le tableau créé en divisant request_uri par /.

  • Exemple 2 : Utilisez une barre oblique (/) pour diviser la valeur du champ request_uri en 3 sous-chaînes et renvoyer une collection de ces sous-chaînes.

    • Champ d'exemple

      request_uri:/request/path-1/file-9
    • Instruction de requête et d'analyse (Test)

      * | SELECT
        split(request_uri, '/', 3)
    • Dans les résultats de la requête et de l'analyse, la valeur de la colonne _col0 est ["","request","path-1/file-9"].

Fonction split_part

Divise une chaîne selon un séparateur spécifié et renvoie la sous-chaîne située à un index donné.

Syntaxe

split_part(x, delimiter, part)

Paramètres

Paramètre

Description

x

La chaîne à diviser. Cette valeur doit être de type varchar.

delimiter

Une chaîne non vide utilisée comme séparateur.

part

Expression entière spécifiant l'index (à partir de 1) de la sous-chaîne à renvoyer. La valeur doit être supérieure à 0.

Valeur de retour

varchar

Exemple

Divisez la valeur du champ request_uri à l'aide d'un point d'interrogation (?) et renvoyez la première sous-chaîne, qui correspond au chemin du fichier. Comptez ensuite le nombre de requêtes pour chaque chemin.

  • Champs d'exemple

    request_uri: /request/path-2/file-6?name=value&age=18
    request_uri: /request/path-2/file-0?name=value&age=18
    request_uri: /request/path-3/file-2?name=value&age=18
  • Instruction de requête (Test)

    * | SELECT
      count(*) AS PV,
      split_part(request_uri, '?', 1) AS Path
    GROUP BY
      Path
    ORDER BY
      pv DESC
  • Résultats de la requête et de l'analyse : /request/path-2/file-6 a un PV de 49, /request/path-2/file-0 a un PV de 47 et /request/path-3/file-2 a un PV de 44.

Fonction split_to_map

La fonction split_to_map analyse une chaîne de paires clé-valeur dans une map à l'aide de deux délimiteurs.

Syntaxe

split_to_map(x, delimiter01, delimiter02)

Paramètres

Paramètre

Description

x

La chaîne d'entrée à analyser, qui doit être de type varchar.

delimiter01

Le délimiteur qui sépare les paires clé-valeur.

delimiter02

Le délimiteur qui sépare la clé de la valeur dans chaque paire.

Type de retour

map

Exemple

Utilisez une virgule anglaise (,) et deux-points anglais (:) pour diviser la valeur du champ time et renvoyer une MAP.

  • Champ d'exemple

    upstream_response_time:"80",request_time:"40"
  • Instruction de requête et d'analyse

    * | SELECT
      split_to_map(time, ',', ':')
  • La fonction renvoie une map, affichée dans les résultats de la requête et de l'analyse au format JSON : {"request_time":"\"40\"","upstream_response_time":"\"80\""}.

Fonction strpos

La fonction strpos renvoie la position de départ d'une sous-chaîne dans une chaîne. Il s'agit d'un alias de la fonction position.

Syntaxe

strpos(x, sub_string)

Paramètres

Paramètre

Description

x

La chaîne source à rechercher. Elle doit être de type varchar.

sub_string

La sous-chaîne à rechercher.

Type de valeur de retour

Renvoie un entier représentant la position de départ (indexée à partir de 1) de la sous-chaîne. Renvoie 0 si la sous-chaîne n'est pas trouvée.

Exemple

Cet exemple trouve la position du caractère « H » dans le champ server_protocol.

  • Instruction de requête (Test)

    * | SELECT
      strpos(server_protocol, 'H')
  • Résultats de la requête et de l'analyse : la colonne _col0 renvoie deux lignes de données, toutes deux avec la valeur 1, ce qui indique que la position de la première occurrence du caractère H dans le champ server_protocol est 1.

Fonction substr

La fonction substr extrait une sous-chaîne d'une chaîne à partir d'une position spécifiée.

Syntaxe

  • Extrait une sous-chaîne à partir d'une position de départ spécifiée jusqu'à la fin de la chaîne.

    substr(x, start)
  • Extrait une sous-chaîne d'une longueur spécifiée d'une chaîne à partir d'une position donnée.

    substr(x,start,length)

Paramètres

Paramètre

Description

x

La chaîne source. Elle doit être de type varchar.

start

La position de départ (indexée à partir de 1) pour l'extraction.

length

Entier facultatif spécifiant le nombre de caractères à extraire. Si ce paramètre est omis, la fonction extrait tous les caractères de la position start jusqu'à la fin de la chaîne.

Type de valeur de retour

varchar.

Exemple

Extrayez les 4 premiers caractères de la valeur du champ server_protocol (la partie HTTP), puis comptez le nombre de requêtes HTTP.

  • Champ d'exemple

    server_protocol:HTTP/2.0
  • Instruction de requête (Test)

    * | SELECT
      substr(server_protocol, 1, 4) AS protocol,
      count(*) AS count
    GROUP BY
      protocol
  • Dans les résultats de la requête et de l'analyse, la valeur de la colonne protocol est HTTP et la valeur de la colonne count est 9078.

Fonction to_utf8

Encode une chaîne en représentation binaire UTF-8.

Syntaxe

to_utf8(x)

Paramètres

Paramètre

Description

x

La chaîne à encoder. Elle doit être de type varchar.

Type de valeur de retour

varbinary

Exemple

Encodez la chaîne « log » au format UTF-8.

  • Instruction de requête (Test)

    * | SELECT
      to_utf8('log')
  • Dans les résultats de la requête et de l'analyse, la valeur de retour de la colonne _col0 est bG9n.

Fonction trim

Supprime les espaces de début et de fin d'une chaîne de caractères.

Syntaxe

trim(x)

Paramètres

Paramètre

Description

x

La chaîne d'entrée, qui doit être de type varchar.

Type de retour

varchar

Exemple

Supprimez les espaces de début et de fin de la valeur du champ instance_id.

  • Champ d'exemple

    instance_id: i-01 
  • Instruction de requête et d'analyse (Test)

    * | SELECT
      trim(instance_id)
  • Résultats de la requête et de l'analyse : i-01

Fonction upper

Convertit une chaîne de caractères en majuscules.

Syntaxe

upper(x)

Paramètres

Paramètre

Description

x

La valeur doit être de type varchar.

Type de valeur de retour

varchar

Exemple

Cet exemple convertit la valeur du champ region en majuscules.

  • Champ d'exemple

    region:cn-shanghai
  • Instruction de requête (Test)

    * | SELECT
      upper(region)
  • Le résultat de la requête et de l'analyse est CN-SHANGHAI.

Fonction csv_extract_map

La fonction csv_extract_map analyse une chaîne CSV sur une seule ligne et renvoie une map.

Syntaxe

csv_extract_map(x, delimiter, quote, keys)

Paramètres

Paramètre

Description

x

La chaîne varchar contenant le texte CSV sur une seule ligne.

delimiter

Un seul caractère varchar qui sépare les valeurs dans la chaîne.

quote

Le seul caractère varchar utilisé pour encadrer les valeurs.

keys

Un tableau de chaînes définissant les noms de clés pour les valeurs extraites. Le nombre de clés doit correspondre au nombre de valeurs dans la chaîne CSV. S'ils ne correspondent pas, la fonction renvoie null.

Type de valeur de retour

map(varchar, varchar)

Exemple

Cet exemple extrait les informations CSV du champ content.

  • Champ d'exemple

    content: '192.168.0.100,"10/Jun/2019:11:32:16,127 +0800",example.aliyundoc.com'
  • Instruction de requête

    select csv_extract_map(content, ',', '"', array['ip', 'time', 'host']) as item
  • Données de sortie

    La requête renvoie l'enregistrement JSON suivant : {"ip":"192.168.0.100","host":"example.aliyundoc.com","time":"10/Jun/2019:11:32:16,127 +0800"}.

Fonction ilike

Vérifie si une chaîne correspond à un modèle spécifié, sans tenir compte de la casse.

Syntaxe

ilike(x, pattern)

Paramètres

Paramètre

Description

x

La chaîne à évaluer. Elle doit être de type varchar.

pattern

Le modèle de caractère. Le modèle peut inclure les caractères génériques suivants :

  • Le signe pourcentage (%) correspond à n'importe quelle séquence de zéro ou plusieurs caractères.

  • Le trait de soulignement (_) correspond à un seul caractère.

Type de retour

boolean

Exemple

Cet exemple vérifie si la valeur de request_uri se termine par file-6.

  • Champ d'exemple

request_uri: '/request/path-2/File-6'
  • Instruction de requête

select ilike(request_uri, '%file-6')
  • Résultats de la requête et de l'analyse

Le résultat de la requête et de l'analyse est true, ce qui indique que request_uri se termine par file-6.

str_uuid

La fonction str_uuid() renvoie un identifiant aléatoire de 128 bits sous forme de chaîne.

Syntaxe

str_uuid()

Valeur de retour

  • Type de valeur de retour : VARCHAR

  • Format : Une chaîne de 36 caractères comprenant 32 chiffres hexadécimaux et 4 tirets -.

  • Structure : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Exemple

Pour générer un grand lot d'identifiants uniques dans un environnement de test simulé :

* | extend uuid = str_uuid()

Fonction gzip_compress

La fonction gzip_compress compresse une chaîne à l'aide de l'algorithme GZIP et renvoie les données binaires compressées.

Syntaxe

-- Method 1: Default compression level (6)
gzip_compress(data)
-- Method 2: Specify compression level
gzip_compress(data, compression_level)

Paramètres

Paramètre

Type

Description

data

VARCHAR

La chaîne à compresser.

compression_level

BIGINT

Niveau de compression, entier facultatif compris entre 1 et 9.

Valeur de retour

  • Type de valeur de retour : VARBINARY

  • Description : Les données binaires compressées.

Exemples

  • Exemple 1 : Compression de base

    * | extend compress_data =  gzip_compress('Hello World')
  • Exemple 2 : Obtenir une compression maximale pour un texte volumineux

    Pour maximiser la compression d'un journal volumineux (des dizaines de milliers de caractères) et économiser de l'espace de stockage, utilisez le niveau 9 :

    * | extend compress_data =  gzip_compress('Hello World',9)

gzip_decompress

gzip_decompress décompresse les données binaires compressées au format GZIP (Varbinary) et renvoie le contenu texte brut d'origine.

Syntaxe

gzip_decompress(binary_data)

Paramètres

binary_data doit être des données valides compressées au format GZIP, généralement générées par la fonction gzip_compress. Si l'entrée n'est pas au format GZIP standard, la fonction renvoie NULL.

Valeur de retour

  • Type de valeur de retour : VARCHAR

  • Description : Le contenu texte brut d'origine après décompression.

Exemple

  • Pipeline simple de compression et de décompression :

    * | extend original_content =  gzip_decompress(gzip_compress('Hello SLS!'))
    -- Output: "Hello SLS!"

Fonction search

La fonction search effectue une recherche en texte intégral sur les données de journal dans une instruction analytique SQL. En tant que fonction SQL standard, elle prend en charge des conditions de requête complexes, notamment les opérations booléennes, les requêtes par champ, les requêtes floues et les requêtes de plage.

Limitations

Limitation

Description

Limite par sous-requête

Vous ne pouvez utiliser qu'une seule fonction search() dans chaque sous-requête (SELECT sous-jacent). Si vous avez besoin de plusieurs conditions de requête, combinez-les dans un seul appel search(), par exemple search('error AND timeout').

Limite de l'opérateur OR

La fonction search() ne peut pas être combinée avec l'opérateur SQL OR. Toutefois, vous pouvez utiliser l'opérateur OR à l'intérieur de la fonction search(). Par exemple, search('error OR warning') est autorisé.

Un index est créé et n'est pas en mode d'analyse.

La fonction search n'est pas prise en charge en mode d'analyse.

Conflit de syntaxe de requête

Vous ne pouvez pas utiliser la fonction search lorsque l'entrée de syntaxe de requête contient des conditions de filtre réelles. Vous pouvez utiliser cette fonction lorsque l'entrée de syntaxe de requête est vide ou correspond à *.

Type de paramètre

Le paramètre de la fonction search() doit être un littéral de chaîne. La fonction ne prend pas en charge les valeurs dynamiques telles que les références de colonne, les variables ou les expressions de fonction.

Nombre de paramètres

La fonction doit prendre exactement un paramètre.

Syntaxe

search(search_expression)

Utilisation dans une instruction analytique SQL :

* | SELECT ... FROM log WHERE search('search_expression')

Important : La fonction search ne peut être utilisée que dans la clause WHERE.

Paramètres

Paramètre

Description

search_expression

L'expression search_expression est un littéral de chaîne représentant l'expression de requête. Elle doit être entièrement conforme à la syntaxe de requête SLS et offre les mêmes fonctionnalités décrites dans Syntaxe et fonctionnalités de requête, telles que les requêtes en texte intégral, les requêtes par champ, les opérations booléennes, les requêtes floues et les requêtes de plage.

Type de valeur de retour

Type BOOLEAN. true indique que la ligne actuelle correspond à la condition de requête, et false indique qu'elle ne correspond pas.

Exemples

  • Exemple 1 : Rechercher les journaux contenant à la fois error et timeout.

    * | SELECT * FROM log WHERE search('error AND timeout')
  • Exemple 2 : Rechercher les journaux dont le champ status est 200.

    * | SELECT * FROM log WHERE search('status: 200')
  • Exemple 3 : Combinez la fonction search() avec un prédicat SQL pour rechercher les journaux dont le status est 200 et dont request_time est supérieur à 100.

    * | SELECT * FROM log
        WHERE search('status: 200') AND request_time > 100

    Pour plus d'informations, consultez Utiliser la fonction search pour effectuer une recherche en texte intégral.