日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

比較運算符

比較運算符用于判斷參數的大小關系,適用于任意可比較的數據類型(double、bigint、varchar、timestamp和date)。本文介紹比較運算符的基本語法以及示例。

日志服務支持如下比較運算符。

重要 在日志服務分析語句中,表示字符串的字符必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。

運算符

語法

說明

支持SQL

支持SPL

基礎運算符

x < y

x小于y時,返回true。

x > y

x大于y時,返回true。

x <= y

x小于或等于y時,返回true。

x >= y

x大于或等于y時,返回true。

x = y

x等于y時,返回true。

x <> y

x不等于y時,返回true。

x != y

x不等于y時,返回true。

ALL運算符

x relational operator ALL(subquery)

x滿足所有條件時,返回true。

×

ANY運算符

x relational operator ANY(subquery)

x滿足任意一個條件時,返回true。

×

BETWEEN運算符

x BETWEEN y AND z

x處在yz之間時,返回true。

DISTINCT運算符

x IS DISTINCT FROM y

x不等于y時,返回true。

×

x IS NOT DISTINCT FROM y

x等于y時,返回true。

×

LIKE運算符

x LIKE pattern [escape 'escape_character']

用于匹配字符串中指定的字符模式。字符串區分大小寫。

SOME運算符

x relational operator SOME(subquery)

x滿足任意一個條件時,返回true。

×

GREATEST運算符

GREATEST(x, y...)

查詢xy中的最大值。

×

LEAST運算符

LEAST(x, y...)

查詢xy中的最小值。

×

NULL運算符

x IS NULL

x為null時,返回true。

x IS NOT NULL

x不為null時,返回true。

基礎運算符

基礎運算符用于比較xy的大小關系。如果邏輯成立,則返回true。

語法

語法

說明

x < y

x小于y

x > y

x大于y

x <= y

x小于或等于y

x >= y

x大于或等于y

x = y

x等于y

x <> y

x不等于y

x != y

x不等于y

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

y

參數值為任意可比較的數據類型。

返回值類型

boolean類型。

示例

  • 示例1:查詢昨天的日志。

    • 查詢和分析語句

      * |
      SELECT
        *
      FROM  log
      WHERE
        __time__ < to_unixtime(current_date)
        AND __time__ > to_unixtime(date_add('day', -1, current_date))
    • 查詢和分析結果current_date

  • 示例2:電商公司A通過訪問日志中的mobile字段和client_ip字段,分析哪些客戶的電話號碼所在地和其訪問電商網站的IP地址所在地不同。

    • 字段樣例

      mobile:1881111****
      client_ip:192.168.2.0
    • 查詢和分析語句

      * |
      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
    • 查詢和分析結果mobile_city

ALL運算符

ALL運算符用于判斷x是否滿足所有條件。如果滿足,則返回true。

語法

x relational operator ALL(subquery)

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

比較運算符

<、>、<=、>=、=、<>、!=

重要

ALL運算符必須緊跟在基礎運算符(<、>、<=、>=、=、<>、!=)后面。

subquery

SQL子查詢。

返回值類型

boolean類型。

示例

實例i-01相關的所有請求的狀態碼是否都為200。

  • 字段樣例

    instance_id:i-01
    status:200
  • 查詢和分析語句

    * | select 200 = ALL(select status where instance_id='i-01')
  • 查詢和分析結果all

ANY運算符

ANY運算符用于判斷x是否滿足任意一個條件。如果滿足,則返回true。

語法

x relational operator ANY(subquery)

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

比較運算符

<、>、<=、>=、=、<>、!=

重要

ANY運算符必須緊跟在比較運算符(<、>、<=、>=、=、<>、!=)后面。

subquery

SQL子查詢。

返回值類型

boolean類型。

示例

實例i-01相關的請求中,是否存在請求狀態碼為200的請求。

  • 字段樣例

    instance_id:i-01
    status:200
  • 查詢和分析語句

    * | SELECT 200 = ANY(SELECT status WHERE instance_id='i-01')
  • 查詢和分析結果any

BETWEEN運算符

BETWEEN用于判斷x是否處在yz之間。如果是,則返回true。yz之間的范圍為閉區間。

語法

x BETWEEN y AND z

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

y

參數值為任意可比較的數據類型。

z

參數值為任意可比較的數據類型。

重要
  • xyz的數據類型必須一致。

  • xyz中任意一個的值包含null,則返回結果為null。

返回值類型

boolean類型。

示例

  • 示例1:判斷status字段值是否在[200,299]范圍內。

    • 查詢和分析語句

      * | SELECT status BETWEEN 200 AND 299
    • 查詢和分析結果BETWEEN

  • 示例2:計算status字段值不在[200,299]范圍內的日志條數。

    • 查詢和分析語句

      * | SELECT count(*) AS count FROM log WHERE status NOT BETWEEN 200 AND 299
    • 查詢和分析結果between

DISTINCT運算符

DISTINCT運算符用于判斷xy是否相同。

語法

  • IS DISTINCT FROM表示x不等于y時,返回true。

    x IS DISTINCT FROM y
  • IS NOT DISTINCT FROM表示x等于y時,返回true。

    x IS NOT DISTINCT FROM y

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

y

參數值為任意可比較的數據類型。

與基礎運算符(=、<>)對比,區別在于DISTINCT運算符可用于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

返回值類型

boolean類型。

示例

將0和null進行對比。

  • 查詢和分析語句

    * | select 0 IS DISTINCT FROM null
  • 查詢和分析結果distinct

LIKE運算符

LIKE運算符用于匹配字符串中指定的字符模式。字符串區分大小寫。

語法

x LIKE pattern [escape 'escape_character']

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

pattern

字符模式,包括字符串和通配符。通配符說明如下:

  • 百分號(%)代表任意個字符。

  • 下劃線 (_)代表單個字符。

escape_character

對字符模式中的通配符進行轉義的字符表達式。

說明

LIKE運算符主要用于日志的精準查詢。更多信息,請參見如何精準查詢日志

返回值類型

boolean類型。

示例

SQL

  • 示例1:查詢request_uri字段值是以file-8或file-6結尾的日志。

    • 字段樣例

      request_uri:/request/path-2/file-6
    • 查詢和分析語句

      *|SELECT * WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
    • 查詢和分析結果OR

  • 示例2:判斷request_uri字段值是否以file-6結尾。

    • 字段樣例

      request_uri:/request/path-2/file-6
    • 查詢和分析語句

      * | SELECT request_uri LIKE '%file-6'
    • 查詢和分析結果like

SPL

  • 示例1:查詢request_uri字段值是以file-8或file-6結尾的日志。

    • 字段樣例

request_uri:/request/path-2/file-6
  • SPL語句

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

image.png

  • 示例2:判斷request_uri字段值是否以file-6結尾。

    • 字段樣例

request_uri:/request/path-2/file-6
  • SPL語句

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

image.png

SOME運算符

SOME運算符用于判斷x是否滿足任意一個條件。如果滿足,則返回true。

語法

x relational operator SOME(subquery)

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

比較運算符

<、>、<=、>=、=、<>、!=

重要

SOME運算符必須緊跟在比較運算符(<、>、<=、>=、=、<>、!=)后面。

subquery

SQL子查詢。

返回值類型

boolean類型。

示例

實例i-01相關的請求中,是否存在請求時長小于20s的請求。

  • 字段樣例

    instance_id:i-01
    request_time:16
  • 查詢和分析語句

    * | SELECT 20 > SOME(SELECT request_time WHERE instance_id='i-01')
  • 查詢和分析結果any

GREATEST運算符

GREATEST運算符用于獲取xy中的最大值。

說明

GREATEST運算符用于橫向對比,max函數用于縱向對比。

語法

GREATEST(x, y...)

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

y

參數值為任意可比較的數據類型。

返回值類型

double類型。

示例

對同一行中的request_time字段值和status字段值進行對比,獲取其中的最大值。

  • 字段樣例

    request_time:38
    status:200
  • 查詢和分析語句

    * |  SELECT GREATEST(request_time,status)
  • 查詢和分析結果greatest

LEAST運算符

LEAST運算符用于獲取xy中的最小值。

說明

LEAST運算符用于橫向對比,min函數用于縱向對比。

語法

LEAST(x, y...)

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

y

參數值為任意可比較的數據類型。

返回值類型

double類型。

示例

對同一行中的request_time字段值和status字段值進行對比,獲取其中的最小值。

  • 字段樣例

    request_time:77
    status:200
  • 查詢和分析語句

    * |  SELECT LEAST(request_time,status)
  • 查詢和分析結果least

NULL運算符

NULL運算符用于判斷x是否為null。

語法

  • IS NULL表示參數值為null時,返回true。

    x IS NULL
  • IS NOT NULL表示參數值不為null時,返回true。

    x IS NOT NULL

參數說明

參數

說明

x

參數值為任意可比較的數據類型。

返回值類型

boolean類型。

示例

  • 示例1:判斷status字段值是否為null。

    • 查詢和分析語句

      * | select status IS NULL
    • 查詢和分析結果is null

  • 示例2:統計status字段值不為空的日志條數。

    • 查詢和分析語句

      * | SELECT count(*) AS count FROM log WHERE status IS NOT NULL
    • 查詢和分析結果is not null