运算符是日志服务中的保留字符,用于在 SQL 分析语句中指定分析条件或连接多个条件,如果条件为真则返回 true,否则返回 false。本文介绍日志服务支持的比较运算符及常见场景的运算符示例。
说明
运算符 | 语法 | 说明 |
---|---|---|
x = y | 判断运算符两侧的值是否相等,如果相等,则条件为真,返回 true。 | |
x <> y | 判断运算符两侧的值是否相等,如果不相等,则条件为真,返回 true。 | |
x > y | 判断运算符左侧的值是否大于运算符右侧的值,如果是,则条件为真,返回 true。 | |
x < y | 判断运算符左边的值是否小于运算符右边的值,如果是,则条件为真,返回 true。 | |
x >= y | 判断运算符左边的值是否大于或等于运算符右边的值,如果是,则条件为真,返回 true。 | |
x <= y | 判断运算符左边的值是否小于或等于运算符右边的值,如果是,则条件为真,返回 true。 | |
x BETWEEN y AND z | 判断 x 是否在 | |
x IN (value1,value2...) | 判断 x 是否在 | |
x IS NULL | 判断 x 是否为 NULL 值,如果为 NULL,则条件为真,返回 true。 | |
x IS NOT NULL | 判断 x 是否为 NULL 值,如果不为 NULL,则条件为真,返回 true。 | |
x LIKE pattern | 判断 x 是否与 pattern 匹配,如果是,则条件为真,返回 true。 | |
x NOT IN (value1,value2...) | 判断 x 是否在 |
基础比较运算符用于比较运算符两侧值的大小。如果条件为真,返回 true。
语法格式
运算符 | 说明 |
---|---|
x = y | 判断运算符两侧的值是否相等,如果相等,则条件为真,返回 true。 |
x <> y | 判断运算符两侧的值是否相等,如果不相等,则条件为真,返回 true。 |
x > y | 判断运算符左侧的值是否大于运算符右侧的值,如果是,则条件为真,返回 true。 |
x < y | 判断运算符左边的值是否小于运算符右边的值,如果是,则条件为真,返回 true。 |
x >= y | 判断运算符左边的值是否大于或等于运算符右边的值,如果是,则条件为真,返回 true。 |
x <= y | 判断运算符左边的值是否小于或等于运算符右边的值,如果是,则条件为真,返回 true。 |
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
y | 日志字段、表达式,其值为任意数据类型。 |
返回值类型
返回值为 Boolean 类型。
场景
统计请求状态码大于等于 400 的请求数量。
检索和分析语句
* | SELECT COUNT(*) AS num WHERE status >=400
检索和分析结果
BETWEEN AND 运算符用于判断 x 是否在 [y, z] 范围内,如果是,则条件为真,返回 true。
语法格式
x BETWEEN y AND z
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
y | 日志字段、表达式,其值为任意数据类型。 |
z | 日志字段、表达式,其值为任意数据类型。 |
返回值类型
返回值为 Boolean 类型。
场景
统计请求状态码在 [200,299] 之间的请求数量。
检索和分析语句
* | SELECT COUNT(*) AS num WHERE status BETWEEN 200 AND 299
检索和分析结果
IN 运算符用于判断 x 是否在 (value1, value2...)
列表中,如果是,则条件为真,返回 true。
语法格式
x IN (value1,value2...)
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
(value1,value2...) | 列表。列表中的元素区分大小写。 |
返回值类型
返回值为 Boolean 类型。
场景
查询 Method
字段值,并判断值是否在 ('POST','PUT','DELETE')
列表中。
检索和分析语句
* | SELECT Method, Method IN ('POST','PUT','DELETE')
检索和分析结果
IS NULL 运算符用于判断 x 是否为 NULL 值,如果为 NULL,则条件为真,返回 true。
语法格式
x IS NULL
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
返回值类型
返回值为 Boolean 类型。
场景
判断 Method
字段值是否为 NULL,不为 NULL 则返回 false。
检索和分析语句
* | SELECT Method IS NULL
检索和分析结果
IS NOT NULL 运算符用于判断 x 值是否为 NULL 值,如果不为 NULL,则条件为真,返回 true。
语法格式
x IS NOT NULL
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
返回值类型
返回值为 Boolean 类型。
场景
判断 Method
字段值是否为 NULL,不为 NULL 则返回 true。
检索和分析语句
* | SELECT Method IS NOT NULL
检索和分析结果
LIKE 运算符用于判断 x 是否与 pattern 匹配,如果是,则条件为真,返回 true。
语法格式
x LIKE pattern
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
pattern | 指定的字符模式,支持字符串和通配符
|
返回值类型
返回值为 Boolean 类型。
场景
判断 Action
字段值是否包含 Log
字符串,如果是,则返回 true。
日志样例
检索和分析语句
* | SELECT action like '%Log%'
检索和分析结果
NOT IN 运算符用于判断 x 是否在 (value1,value2...)
列表中,如果不是,则条件为真,返回 true。
语法格式
x NOT IN (value1,value2...)
参数说明
参数 | 说明 |
---|---|
x | 日志字段、表达式,其值为任意数据类型。 |
(value1,value2...) | 列表。列表中的元素区分大小写。 |
返回值类型
返回值为 Boolean 类型。
场景
统计不是 POST、PUT、DELETE 请求的请求数量。
检索和分析语句
* | SELECT COUNT(*) WHERE Method NOT IN ('POST','PUT','DELETE')
检索和分析结果