跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

运算符

最后更新 查看 MarkdownAgent 设置

算术运算符

运算符 描述 示例
+ 加法 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

使用 IN 或 NOT IN 将标量表达式与非空列表进行比较:

edgeResponseStatus IN (403, 404, 429)

账户或 zone 租户谓词不支持 NOT IN。

BETWEEN

使用 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 字面量在其他表达式中有效。

CASE

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

这篇文档对您有帮助吗?