| 运算符 | 描述 | 示例 |
|---|---|---|
+ |
加法 | requests + 1 |
- |
减法 | bytes - cachedBytes |
* |
乘法 | requests * 100 |
/ |
除法 | bytes / requests |
% |
取模 | edgeResponseStatus % 100 |
unary - |
取负 | -1 |
数据集中的字段类型决定哪些算术运算有效。
| 运算符 | 描述 |
|---|---|
= |
等于 |
!= 或 <> |
不等于 |
< |
小于 |
<= |
小于或等于 |
> |
大于 |
>= |
大于或等于 |
| 运算符 | 描述 |
|---|---|
AND |
两个谓词都为真。 |
OR |
至少一个谓词为真。 |
NOT |
否定谓词。 |
括号控制求值顺序:
WHERE accountTag = '<ACCOUNT_TAG>'
AND timestamp >= NOW() - INTERVAL '1' HOUR
AND (edgeResponseStatus = 429 OR edgeResponseStatus >= 500)租户谓词是例外。将 accountTag 和 zoneTag 谓词保持在顶层,并用 AND 连接。
使用 IN 或 NOT IN 将标量表达式与非空列表进行比较:
edgeResponseStatus IN (403, 404, 429)账户或 zone 租户谓词不支持 NOT IN。
使用 BETWEEN 测试包含范围。NOT BETWEEN 否定该测试:
timestamp BETWEEN '2026-09-15T00:00:00Z' AND '2026-09-15T01:00:00Z'
edgeResponseStatus BETWEEN 400 AND 499使用 LIKE 和 NOT LIKE 进行区分大小写的模式匹配。使用 ILIKE 和 NOT ILIKE 进行不区分大小写的匹配。在模式中,% 匹配任意字符序列,_ 匹配一个字符。
clientRequestHttpHost ILIKE 'api.%'不支持 LIKE ... ESCAPE。
使用 IS NULL 或 IS NOT NULL 测试表达式是否为空:
originResponseStatus IS NOT NULL这不会使独立的 NULL 字面量在其他表达式中有效。
SQL API 支持搜索式和简单 CASE 表达式:
CASE
WHEN edgeResponseStatus >= 500 THEN 'server error'
WHEN edgeResponseStatus >= 400 THEN 'client error'
ELSE 'other'
END
CASE edgeResponseStatus
WHEN 200 THEN 'ok'
ELSE 'other'
END