Tous les produits
Search
Centre de documentation

Simple Log Service:Opérateurs de comparaison

Dernière mise à jour :Aug 07, 2026

Les opérateurs de comparaison comparent les valeurs de paramètres pour des types de données comparables tels que double, bigint, varchar, timestamp et date. Cette rubrique décrit leur syntaxe et fournit des exemples.

Opérateurs de comparaison

Log Service prend en charge les opérateurs de comparaison suivants.

Important

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

'status'

indique la chaîne de caractères « status », tandis que

status

ou

"status"

indique le champ de journal « status ».

Opérateur

Syntaxe

Description

SQL

SPL

Opérateurs relationnels

x < y

Renvoie true si x est inférieur à y.

x > y

Renvoie true si x est supérieur à y.

x <= y

Renvoie true si x est inférieur ou égal à y.

x >= y

Renvoie true si x est supérieur ou égal à y.

x = y

Renvoie true si x est égal à y.

x <> y

Renvoie true si x n'est pas égal à y.

x != y

Renvoie true si x n'est pas égal à y.

Opérateur ALL

x opérateur relationnel ALL(sous-requête)

Renvoie true lorsque x satisfait toutes les conditions.

×

Opérateur ANY

x opérateur relationnel ANY(sous-requête)

Renvoie true si x remplit l'une des conditions.

×

Opérateur BETWEEN

x BETWEEN y AND z

Renvoie true si x se situe entre y et z, bornes incluses.

Opérateur DISTINCT

x IS DISTINCT FROM y

Renvoie true si x n'est pas égal à y. Contrairement à l'opérateur <>, cet opérateur renvoie false si x et y sont tous deux NULL.

×

x IS NOT DISTINCT FROM y

Renvoie true si x est égal à y. Contrairement à l'opérateur =, cet opérateur renvoie true si x et y sont tous deux NULL.

×

Opérateur LIKE

x LIKE modèle [escape 'caractère_d'échappement']

Vérifie si une chaîne correspond au modèle spécifié. Cette opération respecte la casse.

Opérateur SOME

x opérateur relationnel SOME(sous-requête)

Renvoie true si x satisfait au moins une condition.

×

Opérateur GREATEST

GREATEST(x, y...)

Trouve la valeur maximale entre x et y.

×

Opérateur LEAST

LEAST(x, y...)

Trouve la valeur minimale entre x et y.

×

Opérateur NULL

x IS NULL

Renvoie true si x est NULL.

x IS NOT NULL

Renvoie true si x n'est pas NULL.

Opérateurs relationnels

Les opérateurs relationnels comparent les valeurs de x et de y. Un opérateur renvoie true si sa condition est remplie.

  • Syntaxe

    Syntax

    Description

    x < y

    Renvoie true si x est inférieur à y.

    x > y

    Renvoie true si x est supérieur à y.

    x <= y

    Renvoie true si x est inférieur ou égal à y.

    x >= y

    Renvoie true si x est supérieur ou égal à y.

    x = y

    Renvoie true si x est égal à y.

    x <> y

    Renvoie true si x est différent de y.

    x != y

    Renvoie true si x est différent de y.

  • Paramètres

    Parameter

    Description

    x

    Une expression de tout type de données comparable.

    y

    Une expression de tout type de données comparable.

  • Type de valeur de retour

    boolean

  • Exemples

    • Exemple 1 : interrogez les journaux de la veille.

      • Instruction de requête

        * |
        SELECT
          *
        FROM  log
        WHERE
          __time__ < to_unixtime(current_date)
          AND __time__ > to_unixtime(date_add('day', -1, current_date))
      • Résultats de la requête : la requête renvoie plusieurs champs de journal, notamment body_bytes_sent, client_ip, host, http_user_agent, http_x_forwarded_for, instance_id, instance_name, network_type, owner_id et referer. Ces champs fournissent des détails pour chaque enregistrement d'accès, tels que la taille du corps de la requête, l'adresse IP du client, le nom de domaine accédé, le User-Agent, l'ID d'instance, le nom de l'instance et le type de réseau.

    • Exemple 2 : pour identifier les clients dont l'emplacement géographique associé au numéro de téléphone diffère de celui de leur adresse IP d'accès, une entreprise de commerce électronique interroge les champs mobile et client_ip dans ses journaux d'accès.

      • Valeurs de champ exemples

        mobile:1881111****
        client_ip:192.168.2.0
      • Instruction de requête

        * |
        SELECT
          mobile,
          client_ip,
          count(*) AS PV
        WHERE
          mobile_city(mobile) != ip_to_city(client_ip)
          AND ip_to_city(client_ip) != ''
        GROUP BY
          client_ip,
          mobile
        ORDER BY
          PV DESC
      • Résultats de la requête : la requête renvoie deux enregistrements. Les informations sensibles des colonnes mobile et client_ip sont masquées. Les valeurs PV correspondantes sont 13 et 12.

Opérateur ALL

L'opérateur ALL compare une valeur, x, à toutes les valeurs de l'ensemble de résultats d'une sous-requête. Il renvoie true si la comparaison est vraie pour chaque valeur de l'ensemble.

  • Syntaxe

    x relational operator ALL(subquery)
  • Paramètres

    Parameter

    Description

    x

    Une valeur de tout type de données comparable.

    comparison operator

    <, >, <=, >=, =, <>, !=

    Important

    L'opérateur ALL doit suivre immédiatement un opérateur de base (<, >, <=, >=, =, <>, !=).

    subquery

    Une sous-requête SQL.

  • Type de valeur de retour

    Type boolean.

  • Exemples

    Cet exemple vérifie si toutes les requêtes pour l'instance « i-01 » possèdent un code d'état 200.

    • Journal exemple

      instance_id:i-01
      status:200
    • Instruction de requête et d'analyse

      * | select 200 = ALL(select status where instance_id='i-01')
    • Les résultats de la requête et de l'analyse indiquent _col0 comme false. Cela signifie que tous les journaux de l'instance « i-01 » n'ont pas un état 200.

Opérateur ANY

L'opérateur ANY compare une valeur x à un ensemble de valeurs renvoyées par une sous-requête. Il renvoie true si la comparaison est vraie pour au moins une valeur de l'ensemble.

  • Syntaxe

    x relational operator ANY(subquery)
  • Paramètres

    Parameter

    Description

    x

    Une expression de tout type de données comparable.

    relational operator

    <, >, <=, >=, =, <> ou !=

    Important

    Un opérateur relationnel doit précéder l'opérateur ANY.

    subquery

    Une sous-requête qui renvoie une seule colonne de valeurs. Le type de données de la colonne doit correspondre au type de données de l'expression x.

  • Type de valeur de retour

    boolean

  • Exemples

    Vérifiez si au moins une requête pour l'instance i-01 possède un code d'état 200.

    • Champs exemples

      instance_id:i-01
      status:200
    • Instruction de requête

      * | SELECT 200 = ANY(SELECT status WHERE instance_id='i-01')
    • La requête renvoie la colonne _col0 avec la valeur true, ce qui indique que la condition est remplie.

Opérateur BETWEEN

BETWEEN permet de déterminer si x se situe entre y et z. Si c'est le cas, il renvoie true. L'intervalle entre y et z est un intervalle fermé.

  • Syntaxe

    x BETWEEN y AND z
  • Paramètres

    Parameter

    Description

    x

    Une expression de tout type de données comparable.

    y

    Une expression de tout type de données comparable.

    z

    Une expression de tout type de données comparable.

    Important
    • Les types de données de x, y et z doivent être identiques.

    • Si la valeur de x, y ou z est null, le résultat est null.

  • Type de valeur de retour

    Boolean

  • Exemples

    • Exemple 1 : vérifiez si la valeur du champ status se situe dans la plage [200, 299].

      • Instruction de requête

        * | SELECT status BETWEEN 200 AND 299
      • Résultats de la requête et de l'analyse : la requête renvoie trois lignes dans la colonne _col0, et la valeur de chaque ligne est true. Cela indique que la valeur du champ status de chaque journal correspondant se situe entre 200 et 299.

    • Exemple 2 : comptez les journaux dont la valeur du champ status ne se situe pas dans la plage [200, 299].

      • Instruction de requête

        * | SELECT count(*) AS count FROM log WHERE status NOT BETWEEN 200 AND 299
      • Résultats de la requête et de l'analyse : la requête renvoie un count de 250.

Opérateur DISTINCT

L'opérateur DISTINCT compare deux valeurs, x et y, et gère correctement les valeurs NULL.

  • Syntaxe

    • IS DISTINCT FROM renvoie true si x est différent de y.

      x IS DISTINCT FROM y
    • IS NOT DISTINCT FROM renvoie true si x est égal à y.

      x IS NOT DISTINCT FROM y
  • Paramètres

    Parameter

    Description

    x

    Une expression d'un type de données comparable.

    y

    Une expression d'un type de données comparable.

Contrairement aux opérateurs de base (= et <>), l'opérateur DISTINCT gère correctement les valeurs NULL.

x

y

x = y

x <> y

x IS DISTINCT FROM y

x IS NOT DISTINCT FROM y

1

1

true

false

false

true

1

2

false

true

true

false

1

null

null

null

true

false

null

null

null

null

false

true

  • Type de valeur de retour

    Boolean.

  • Exemples

    Comparez 0 à null.

    • Instruction de requête

      * | select 0 IS DISTINCT FROM null
    • Le résultat de la requête est true, ce qui indique que 0 et null sont distincts.

Opérateur LIKE

L'opérateur LIKE vérifie si une chaîne de caractères correspond à un modèle spécifié. Cette opération est sensible à la casse.

  • Syntaxe

    x LIKE pattern [escape 'escape_character']
  • Paramètres

    Parameter

    Description

    x

    Une expression de tout type de données comparable.

    pattern

    Le modèle de caractères à rechercher, qui peut inclure des chaînes et des caractères génériques. Les caractères génériques suivants sont pris en charge :

    • Signe pourcentage (%) : correspond à toute chaîne de zéro ou plusieurs caractères.

    • Trait de soulignement (_) : correspond à n'importe quel caractère unique.

    escape_character

    Un caractère utilisé pour échapper les caractères génériques dans le modèle de caractères.

    Remarque

    L'opérateur LIKE est principalement utilisé pour les requêtes de correspondance de modèles sur les journaux. Pour plus d'informations, consultez Comment effectuer une requête de correspondance exacte.

  • Type de valeur de retour

    boolean

  • Exemples

    SQL

    • Exemple 1 : interroge les journaux dont la valeur du champ request_uri se termine par file-8 ou file-6.

      • Champ d'exemple

        request_uri:/request/path-2/file-6
      • Instruction de requête et d'analyse

        *|SELECT * WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
      • Résultats de la requête et de l'analyse : cette requête renvoie les enregistrements de journal où le champ request_uri se termine par file-8 ou file-6. Chaque enregistrement comprend des champs tels que remote_addr, remote_user, request_length, request_method, request_time, request_uri, scheme, server_protocol, slbid, status et time_local.

    • Exemple 2 : vérifie si la valeur du champ request_uri se termine par file-6.

      • Champ d'exemple

        request_uri:/request/path-2/file-6
      • Instruction de requête et d'analyse

        * | SELECT request_uri LIKE '%file-6'
      • La requête renvoie la colonne _col0 avec la valeur true. Cela indique que la valeur de request_uri correspond au modèle %file-6.

    SPL

    • Exemple 1 : interroge les journaux dont la valeur du champ request_uri se termine par file-8 ou file-6.

      • Champ d'exemple

    request_uri:/request/path-2/file-6
    • Instruction SPL

    *|WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
    • Résultats SPL

    La requête renvoie toutes les entrées de journal dont la valeur du champ request_uri se termine par file-8 ou file-6.

    • Exemple 2 : vérifie si la valeur du champ request_uri se termine par file-6.

      • Champ d'exemple

    request_uri:/request/path-2/file-6
    • Instruction SPL

    * | extend a = request_uri LIKE '%file-6'
    • Résultats SPL

    Les résultats de la requête incluent un nouveau champ, a, avec la valeur true. Cela indique que la valeur du champ request_uri dans l'entrée de journal se termine par file-6.

Opérateur SOME

L'opérateur SOME compare une valeur x à l'ensemble des valeurs renvoyées par une sous-requête. L'opérateur renvoie true si la comparaison est vraie pour n'importe quelle valeur de l'ensemble.

  • Syntaxe

    x relational operator SOME(subquery)
  • Paramètres

    Parameter

    Description

    x

    Une expression de tout type de données comparable.

    relational operator

    <, >, <=, >=, =, <>, !=

    Important

    L'opérateur SOME doit suivre immédiatement un opérateur relationnel (<, >, <=, >=, =, <> ou !=).

    subquery

    Une sous-requête qui renvoie une seule colonne de valeurs. Le type de données de la colonne doit être identique au type de données de l'expression x.

  • Type de valeur de retour

    Type booléen.

  • Exemples

    Vérifiez si une requête liée à l'instance i-01 a un temps de requête inférieur à 20 secondes.

    • Champs d'exemple

      instance_id:i-01
      request_time:16
    • Instruction de requête

      * | SELECT 20 > SOME(SELECT request_time WHERE instance_id='i-01')
    • Résultats de la requête

Opérateur GREATEST

L'opérateur GREATEST renvoie la valeur maximale de x et y.

Remarque

L'opérateur GREATEST est utilisé pour une comparaison horizontale, tandis que la fonction max est utilisée pour une comparaison verticale.

  • Syntaxe

    GREATEST(x, y...)
  • Paramètres

    Parameter

    Description

    x

    Une expression d'un type de données comparable.

    y

    Une expression d'un type de données comparable.

  • Type de valeur de retour

    double

  • Exemples

    Comparez les valeurs des champs request_time et status dans la même ligne pour trouver la valeur la plus élevée.

    • Champs d'exemple

      request_time:38
      status:200
    • Instruction de recherche et d'analyse

      * |  SELECT GREATEST(request_time,status)
    • Les résultats de la requête et de l'analyse incluent la colonne _col0 avec la valeur 200.0, qui est la plus grande entre request_time (38) et status (200).

Opérateur LEAST

L'opérateur LEAST renvoie la valeur minimale de x et y.

Remarque

L'opérateur LEAST est utilisé pour une comparaison horizontale, tandis que la fonction min est utilisée pour une comparaison verticale.

  • Syntaxe

    LEAST(x, y...)
  • Paramètres

    Parameter

    Description

    x

    La valeur à comparer. Il peut s'agir de n'importe quel type de données comparable.

    y

    La valeur à comparer. Il peut s'agir de n'importe quel type de données comparable.

  • Type de valeur de retour

    double

  • Exemples

    Comparez la valeur du champ request_time et la valeur du champ status dans la même ligne pour obtenir la valeur minimale.

    • Champs d'exemple

      request_time:77
      status:200
    • Instruction de requête et d'analyse

      * |  SELECT LEAST(request_time,status)
    • Résultats de la requête et de l'analyse

      La requête renvoie 77.

Opérateur Null

L'opérateur null vérifie si x est null.

  • Syntaxe

    • IS NULL : renvoie true si l'expression est null.

      x IS NULL
    • IS NOT NULL : renvoie true si l'expression n'est pas null.

      x IS NOT NULL
  • Paramètres

    Parameter

    Description

    x

    Une expression de tout type de données comparable.

  • Type de valeur de retour

    Type booléen.

  • Exemples

    • Exemple 1 : vérifie si la valeur du champ status est null.

      • Instruction de requête

        * | select status IS NULL
      • Résultats de la requête et de l'analyse : la requête renvoie la colonne _col0 . Les deux lignes contiennent la valeur false, ce qui indique que le champ status n'est pas null.

    • Exemple 2 : compte les entrées de journal où le champ status n'est pas null.

      • Instruction de requête

        * | SELECT count(*) AS count FROM log WHERE status IS NOT NULL
      • Résultats de la requête et de l'analyse : la requête renvoie un count de 1340.