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.
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 |
chr(x) | Convertit un code ASCII en caractère. | √ | √ | |
codepoint(x) | Convertit un caractère en code ASCII. | √ | √ | |
concat(x, y...) | Concatène plusieurs chaînes de caractères. | √ | √ | |
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. | √ | √ | |
length(x) | Renvoie la longueur d'une chaîne de caractères. | √ | √ | |
levenshtein_distance(x, y) | Calcule la distance d'édition minimale entre x et y. | √ | × | |
lower(x) | Convertit une chaîne de caractères en minuscules. | √ | √ | |
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. | √ | √ | |
ltrim(x) | Supprime les espaces de début d'une chaîne de caractères. | √ | √ | |
normalize(x) | Normalise une chaîne de caractères au format NFC. | √ | × | |
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. | √ | × | |
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. | √ | √ | |
reverse(x) | Inverse l'ordre des caractères d'une chaîne. | √ | √ | |
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. | √ | √ | |
rtrim(x) | Supprime les espaces de fin d'une chaîne de caractères. | √ | √ | |
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. | √ | √ | |
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. | √ | √ | |
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. | √ | √ | |
strpos(x, sub_string) | Cette fonction est un alias de position(sub_string in x). | √ | √ | |
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. | √ | √ | |
to_utf8(x) | Encode une chaîne de caractères en une chaîne binaire UTF-8. | √ | √ | |
trim(x) | Supprime les espaces de début et de fin d'une chaîne de caractères. | √ | √ | |
upper(x) | Convertit une chaîne de caractères en majuscules. | √ | √ | |
csv_extract_map(x, delimiter, quote, keys) | Extrait des valeurs spécifiées d'une ligne de texte CSV dans une map. | √ | × | |
ilike(x, pattern) | Vérifie si une chaîne correspond à un modèle, sans tenir compte de la casse. | √ | √ | |
str_uuid() | Génère un UUID aléatoire de 128 bits et le renvoie sous forme de chaîne. | × | √ | |
gzip_compress(data, compression_level) | Compresse une chaîne en un flux binaire à l'aide de l'algorithme GZIP. | × | √ | |
gzip_decompress(binary_data) | Décompresse un flux binaire compressé au format GZIP et renvoie la chaîne d'origine. | × | √ | |
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
_col0esttrue, ce qui indique que le premier caractère du champregioncorrespond àchr(99)(le caractèrec).
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 |
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
_col0renvoie deux lignes de données, dont la valeur esttruepour 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
_col0renvoie une chaîne concaténée, telle quecn-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
_col0avec la valeur0□4. Le carré représente un octet qui ne peut pas être rendu correctement, ce qui correspond à la sortie de la fonctionfrom_utf8aprè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 champhttp_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.
|
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
_col0est000000i-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
_col0et la valeur estschö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
_col0renvoie1, ce qui indique que la sous-chaînecncommence à la position 1 dans la chaînecn-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, remplacezcnparChina.-
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
_col0estChina-shanghai.
-
-
Exemple 2 : Supprimez
cn-de la valeur du champregion.-
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.
|
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
_col0renvoie la valeuri-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
_col0esti-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_urien 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 divisantrequest_uripar/.
-
-
Exemple 2 : Utilisez une barre oblique (/) pour diviser la valeur du champ
request_urien 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-6a un PV de 49,/request/path-2/file-0a un PV de 47 et/request/path-3/file-2a 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
_col0renvoie deux lignes de données, toutes deux avec la valeur1, ce qui indique que la position de la première occurrence du caractère H dans le champserver_protocolest 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 |
|
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 |
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
protocolestHTTPet la valeur de la colonnecountest9078.
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
_col0estbG9n.
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 |
|
delimiter |
Un seul caractère |
|
quote |
Le seul caractère |
|
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 :
|
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 :
VARCHARFormat : 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 :
VARBINARYDescription : 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 :
VARCHARDescription : 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 |
|
Limite de l'opérateur OR |
La fonction |
|
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 |
|
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 |
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
errorettimeout.* | SELECT * FROM log WHERE search('error AND timeout') -
Exemple 2 : Rechercher les journaux dont le champ
statusest200.* | SELECT * FROM log WHERE search('status: 200') -
Exemple 3 : Combinez la fonction
search()avec un prédicat SQL pour rechercher les journaux dont lestatusest200et dontrequest_timeest supérieur à100.* | SELECT * FROM log WHERE search('status: 200') AND request_time > 100Pour plus d'informations, consultez Utiliser la fonction search pour effectuer une recherche en texte intégral.