All Products
Search
Document Center

Simple Log Service:Operator perbandingan

Last Updated:Jun 22, 2026

Operator perbandingan membandingkan nilai parameter untuk tipe data yang dapat dibandingkan seperti double, bigint, varchar, timestamp, dan date. Topik ini menjelaskan sintaks serta memberikan contohnya.

Operator perbandingan

Log Service mendukung operator perbandingan berikut.

Penting Jika Anda ingin menggunakan string dalam pernyataan analitik, bungkus string tersebut dengan tanda kutip tunggal (''). String yang tidak dibungkus atau dibungkus dengan tanda kutip ganda ("") menunjukkan nama field atau nama kolom. Misalnya, 'status' menunjukkan string status, sedangkan status atau "status" menunjukkan field log status.

Operator

Sintaks

Deskripsi

SQL

SPL

Operator relasional

x < y

Mengembalikan true jika x lebih kecil dari y.

x > y

Mengembalikan true jika x lebih besar dari y.

x <= y

Mengembalikan true jika x lebih kecil dari atau sama dengan y.

x >= y

Mengembalikan true jika x lebih besar dari atau sama dengan y.

x = y

Mengembalikan true jika x sama dengan y.

x <> y

Mengembalikan true jika x tidak sama dengan y.

x != y

Mengembalikan true jika x tidak sama dengan y.

Operator ALL

x relational operator ALL(subquery)

Mengembalikan true ketika x memenuhi semua kondisi.

×

Operator ANY

x relational operator ANY(subquery)

Mengembalikan true jika x memenuhi salah satu kondisi.

×

Operator BETWEEN

x BETWEEN y AND z

Mengembalikan true jika x berada di antara y dan z, termasuk batasnya.

Operator DISTINCT

x IS DISTINCT FROM y

Mengembalikan true jika x tidak sama dengan y. Berbeda dengan operator <>, operator ini mengembalikan false jika x dan y keduanya NULL.

×

x IS NOT DISTINCT FROM y

Mengembalikan true jika x sama dengan y. Berbeda dengan operator =, operator ini mengembalikan true jika x dan y keduanya NULL.

×

Operator LIKE

x LIKE pattern [escape 'escape_character']

Memeriksa apakah sebuah string sesuai dengan pola yang ditentukan. Operasi ini bersifat case-sensitive.

Operator SOME

x relational operator SOME(subquery)

Mengembalikan true jika x memenuhi salah satu kondisi.

×

Operator GREATEST

GREATEST(x, y...)

Menemukan nilai maksimum dari x dan y.

×

Operator LEAST

LEAST(x, y...)

Menemukan nilai minimum dari x dan y.

×

Operator NULL

x IS NULL

Mengembalikan true jika x adalah NULL.

x IS NOT NULL

Mengembalikan true jika x bukan NULL.

Operator relasional

Operator relasional membandingkan nilai x dan y. Operator ini mengembalikan true jika kondisinya terpenuhi.

  • Sintaks

    Sintaks

    Deskripsi

    x < y

    Mengembalikan true jika x lebih kecil dari y.

    x > y

    Mengembalikan true jika x lebih besar dari y.

    x <= y

    Mengembalikan true jika x lebih kecil dari atau sama dengan y.

    x >= y

    Mengembalikan true jika x lebih besar dari atau sama dengan y.

    x = y

    Mengembalikan true jika x sama dengan y.

    x <> y

    Mengembalikan true jika x tidak sama dengan y.

    x != y

    Mengembalikan true jika x tidak sama dengan y.

  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    y

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

  • Tipe nilai kembalian

    boolean

  • Contoh

    • Contoh 1: Kueri log dari hari sebelumnya.

      • Pernyataan kueri

        * |
        SELECT
          *
        FROM  log
        WHERE
          __time__ < to_unixtime(current_date)
          AND __time__ > to_unixtime(date_add('day', -1, current_date))
      • Hasil kueri: Kueri mengembalikan beberapa field log, termasuk body_bytes_sent, client_ip, host, http_user_agent, http_x_forwarded_for, instance_id, instance_name, network_type, owner_id, dan referer. Field-field ini memberikan detail untuk setiap catatan akses, seperti ukuran badan permintaan, alamat IP klien, nama domain yang diakses, User-Agent, ID instans, nama instans, dan jenis jaringan.

    • Contoh 2: Untuk menemukan pelanggan yang lokasi nomor teleponnya berbeda dari lokasi IP aksesnya, sebuah perusahaan e-commerce melakukan kueri pada field mobile dan client_ip dalam log aksesnya.

      • Nilai field contoh

        mobile:1881111****
        client_ip:192.168.2.0
      • Pernyataan kueri

        * |
        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
      • Hasil kueri: Kueri mengembalikan dua catatan. Informasi sensitif dalam kolom mobile dan client_ip telah dimasking. Nilai PV yang sesuai adalah 13 dan 12.

Operator ALL

Operator ALL membandingkan nilai x dengan semua nilai dalam set hasil subkueri. Operator ini mengembalikan true jika perbandingan tersebut benar untuk setiap nilai dalam set tersebut.

  • Sintaks

    x relational operator ALL(subquery)
  • Parameter

    Parameter

    Deskripsi

    x

    Nilai dari tipe data yang dapat dibandingkan apa pun.

    comparison operator

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

    Penting

    Operator ALL harus langsung mengikuti operator dasar (<, >, <=, >=, =, <>, !=).

    subquery

    Subkueri SQL.

  • Tipe nilai kembalian

    Boolean

  • Contoh

    Contoh ini memeriksa apakah semua permintaan untuk instans 'i-01' memiliki kode status 200.

    • Log contoh

      instance_id:i-01
      status:200
    • Pernyataan kueri dan analisis

      * | select 200 = ALL(select status where instance_id='i-01')
    • Hasil kueri dan analisis menunjukkan _col0 bernilai false. Ini berarti tidak semua log untuk instans 'i-01' memiliki status 200.

Operator ANY

Operator ANY membandingkan nilai x dengan sekumpulan nilai yang dikembalikan oleh subkueri. Operator ini mengembalikan true jika perbandingan tersebut benar untuk setidaknya satu nilai dalam set tersebut.

  • Sintaks

    x relational operator ANY(subquery)
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    relational operator

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

    Penting

    Operator relasional harus mendahului operator ANY.

    subquery

    Subkueri yang mengembalikan satu kolom nilai. Tipe data kolom tersebut harus sesuai dengan tipe data ekspresi x.

  • Tipe nilai kembalian

    boolean

  • Contoh

    Periksa apakah ada permintaan untuk instans i-01 yang memiliki kode status 200.

    • Field contoh

      instance_id:i-01
      status:200
    • Pernyataan kueri

      * | SELECT 200 = ANY(SELECT status WHERE instance_id='i-01')
    • Kueri mengembalikan kolom _col0 dengan nilai true, yang menunjukkan bahwa kondisi tersebut terpenuhi.

Operator BETWEEN

BETWEEN digunakan untuk menentukan apakah x berada di antara y dan z. Jika ya, operator ini mengembalikan true. Rentang antara y dan z merupakan interval tertutup.

  • Sintaks

    x BETWEEN y AND z
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    y

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    z

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    Penting
    • Tipe data x, y, dan z harus sama.

    • Jika nilai x, y, atau z adalah null, hasilnya adalah null.

  • Tipe nilai kembalian

    Boolean

  • Contoh

    • Contoh 1: Periksa apakah nilai field status berada dalam rentang [200, 299].

      • Pernyataan kueri

        * | SELECT status BETWEEN 200 AND 299
      • Hasil kueri dan analisis: Kueri mengembalikan tiga baris dalam kolom _col0, dan nilai pada setiap baris adalah true. Ini menunjukkan bahwa nilai field status untuk setiap log yang sesuai berada di antara 200 dan 299.

    • Contoh 2: Hitung jumlah log di mana nilai field status tidak berada dalam rentang [200, 299].

      • Pernyataan kueri

        * | SELECT count(*) AS count FROM log WHERE status NOT BETWEEN 200 AND 299
      • Hasil kueri dan analisis: Kueri mengembalikan count sebesar 250.

Operator DISTINCT

Operator DISTINCT membandingkan dua nilai, x dan y, serta menangani nilai NULL dengan benar.

  • Sintaks

    • IS DISTINCT FROM mengembalikan true jika x tidak sama dengan y.

      x IS DISTINCT FROM y
    • IS NOT DISTINCT FROM mengembalikan true jika x sama dengan y.

      x IS NOT DISTINCT FROM y
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan.

    y

    Ekspresi dari tipe data yang dapat dibandingkan.

Berbeda dengan operator dasar (= dan <>), operator DISTINCT menangani nilai NULL dengan benar.

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

  • Tipe nilai kembalian

    Boolean

  • Contoh

    Bandingkan 0 dengan null.

    • Pernyataan kueri

      * | select 0 IS DISTINCT FROM null
    • Hasil kueri adalah true, yang menunjukkan bahwa 0 dan null berbeda.

Operator LIKE

Operator LIKE memeriksa apakah sebuah string sesuai dengan pola karakter yang ditentukan. Operasi ini bersifat case-sensitive.

  • Sintaks

    x LIKE pattern [escape 'escape_character']
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    pattern

    Pola karakter yang akan dicari, yang dapat mencakup string dan karakter wildcard. Karakter wildcard berikut didukung:

    • Tanda persen (%): Mencocokkan string apa pun dengan nol atau lebih karakter.

    • Garis bawah (_): Mencocokkan satu karakter apa pun.

    escape_character

    Karakter yang digunakan untuk meng-escape karakter wildcard dalam pola karakter.

    Catatan

    Operator LIKE terutama digunakan untuk kueri pencocokan pola pada log. Untuk informasi lebih lanjut, lihat Cara melakukan kueri pencocokan eksak.

  • Tipe nilai kembalian

    boolean

  • Contoh

    SQL

    • Contoh 1: Kueri log di mana nilai field request_uri diakhiri dengan file-8 atau file-6.

      • Field contoh

        request_uri:/request/path-2/file-6
      • Pernyataan kueri dan analisis

        *|SELECT * WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
      • Hasil kueri dan analisis: Kueri ini mengembalikan catatan log di mana field request_uri diakhiri dengan file-8 atau file-6. Setiap catatan mencakup field seperti remote_addr, remote_user, request_length, request_method, request_time, request_uri, scheme, server_protocol, slbid, status, dan time_local.

    • Contoh 2: Periksa apakah nilai field request_uri diakhiri dengan file-6.

      • Field contoh

        request_uri:/request/path-2/file-6
      • Pernyataan kueri dan analisis

        * | SELECT request_uri LIKE '%file-6'
      • Kueri mengembalikan kolom _col0 dengan nilai true. Ini menunjukkan bahwa nilai request_uri sesuai dengan pola %file-6.

    SPL

    • Contoh 1: Kueri log di mana nilai field request_uri diakhiri dengan file-8 atau file-6.

      • Field contoh

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

    *|WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
    • Hasil SPL

    Kueri mengembalikan semua entri log di mana nilai field request_uri diakhiri dengan file-8 atau file-6.

    • Contoh 2: Periksa apakah nilai field request_uri diakhiri dengan file-6.

      • Field contoh

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

    * | extend a = request_uri LIKE '%file-6'
    • Hasil SPL

    Hasil kueri mencakup field baru, a, dengan nilai true. Ini menunjukkan bahwa nilai field request_uri dalam entri log diakhiri dengan file-6.

Operator SOME

Operator SOME membandingkan nilai x dengan sekumpulan nilai yang dikembalikan oleh subkueri. Operator ini mengembalikan true jika perbandingan tersebut benar untuk salah satu nilai dalam set tersebut.

  • Sintaks

    x relational operator SOME(subquery)
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

    relational operator

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

    Penting

    Operator SOME harus langsung mengikuti operator relasional (<, >, <=, >=, =, <>, atau !=).

    subquery

    Subkueri yang mengembalikan satu kolom nilai. Tipe data kolom tersebut harus sama dengan tipe data ekspresi x.

  • Tipe nilai kembalian

    Boolean

  • Contoh

    Periksa apakah ada permintaan yang terkait dengan instans i-01 yang memiliki waktu permintaan kurang dari 20 detik.

    • Field contoh

      instance_id:i-01
      request_time:16
    • Pernyataan kueri

      * | SELECT 20 > SOME(SELECT request_time WHERE instance_id='i-01')
    • Hasil kueri

Operator GREATEST

Operator GREATEST mengembalikan nilai maksimum dari x dan y.

Catatan

Operator GREATEST digunakan untuk perbandingan horizontal, sedangkan fungsi max digunakan untuk perbandingan vertikal.

  • Sintaks

    GREATEST(x, y...)
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan.

    y

    Ekspresi dari tipe data yang dapat dibandingkan.

  • Tipe nilai kembalian

    double

  • Contoh

    Bandingkan nilai field request_time dan status dalam baris yang sama untuk menemukan nilai terbesar.

    • Field contoh

      request_time:38
      status:200
    • Pernyataan pencarian dan analisis

      * |  SELECT GREATEST(request_time,status)
    • Hasil kueri dan analisis mencakup kolom _col0 dengan nilai 200.0, yang merupakan nilai lebih besar antara request_time (38) dan status (200).

Operator LEAST

Operator LEAST mengembalikan nilai minimum dari x dan y.

Catatan

Operator LEAST digunakan untuk perbandingan horizontal, sedangkan fungsi min digunakan untuk perbandingan vertikal.

  • Sintaks

    LEAST(x, y...)
  • Parameter

    Parameter

    Deskripsi

    x

    Nilai yang akan dibandingkan. Dapat berupa tipe data yang dapat dibandingkan apa pun.

    y

    Nilai yang akan dibandingkan. Dapat berupa tipe data yang dapat dibandingkan apa pun.

  • Tipe nilai kembalian

    double

  • Contoh

    Bandingkan nilai field request_time dan nilai field status dalam baris yang sama untuk mendapatkan nilai minimum.

    • Field contoh

      request_time:77
      status:200
    • Pernyataan kueri dan analisis

      * |  SELECT LEAST(request_time,status)
    • Hasil kueri dan analisis

      Kueri mengembalikan 77.

Operator null

Operator null memeriksa apakah x bernilai null.

  • Sintaks

    • IS NULL: Mengembalikan true jika ekspresi bernilai null.

      x IS NULL
    • IS NOT NULL: Mengembalikan true jika ekspresi tidak bernilai null.

      x IS NOT NULL
  • Parameter

    Parameter

    Deskripsi

    x

    Ekspresi dari tipe data yang dapat dibandingkan apa pun.

  • Tipe nilai kembalian

    Boolean

  • Contoh

    • Contoh 1: Periksa apakah nilai field status bernilai null.

      • Pernyataan kueri

        * | select status IS NULL
      • Hasil kueri dan analisis: Kueri mengembalikan kolom _col0. Kedua baris berisi nilai false, yang menunjukkan bahwa field status tidak bernilai null.

    • Contoh 2: Hitung jumlah entri log di mana field status tidak bernilai null.

      • Pernyataan kueri

        * | SELECT count(*) AS count FROM log WHERE status IS NOT NULL
      • Hasil kueri dan analisis: Kueri mengembalikan count sebesar 1340.