数据集 schema 可以暴露以下字段类型:
| 类型 | 描述 |
|---|---|
String |
UTF-8 文本。 |
UInt8、UInt16、UInt32、UInt64 |
无符号整数。 |
Int64 |
有符号整数。 |
Float64 |
双精度浮点数。 |
Date |
日历日期。 |
DateTime |
秒精度的时间戳。 |
DateTime64(3) |
毫秒精度的时间戳。 |
Array(type) |
一种标量类型的值列表。 |
Json |
具有动态类型值的对象。 |
SQL API 支持整数、浮点、字符串和布尔字面量。
SELECT
42 AS integer_value,
3.14 AS float_value,
'example' AS string_value,
TRUE AS boolean_value
FROM events.httpRequests
WHERE accountTag = '<ACCOUNT_TAG>'
AND timestamp >= '2026-09-15T00:00:00Z'
LIMIT 1按照标准 SQL 字符串字面量语法转义字符串中的单引号。
不支持独立的 NULL 字面量。表达式仍可产生空值,并且支持 IS NULL 和 IS NOT NULL 谓词。
使用带时区的 ISO 8601 时间戳:
timestamp >= '2026-09-15T08:30:00Z'
timestamp >= '2026-09-15T10:30:00+02:00'API 会将时间戳值规范化为 UTC。没有时间的日期会解释为 UTC 午夜:
timestamp >= '2026-09-15'没有时区的日期和时间会被拒绝。例如,不要使用 '2026-09-15T08:30:00'。
数组字段只能作为完整的顶级结果字段选择:
SELECT botTags
FROM logs.httpRequests
WHERE zoneTag = '<ZONE_TAG>'
AND timestamp >= '2026-09-15T00:00:00Z'
LIMIT 10不支持数组筛选、分组、排序、聚合、索引和展开。
某些数据集将非结构化字段暴露为 JSON 对象。你可以选择完整对象或一个精确的顶级键:
SELECT attributes, attributes['http.method'] AS method
FROM logs.workersLogs
WHERE accountTag = '<ACCOUNT_TAG>'
AND timestamp >= NOW() - INTERVAL '1' HOUR
LIMIT 10键查找是精确的。诸如 http.method 这样的键是一个顶级键,而不是嵌套对象中的路径。缺失的键返回 JSON null。
根据数据集后端,精确键查找也可以与字符串、数字或布尔字面量比较、分组,或传递给 SUM 和 AVG:
SELECT attributes['http.method'] AS method, COUNT(*) AS events
FROM logs.workersLogs
WHERE accountTag = '<ACCOUNT_TAG>'
AND timestamp >= NOW() - INTERVAL '1' HOUR
AND attributes['http.method'] = 'GET'
GROUP BY attributes['http.method']不支持 JSON 类型转换、嵌套遍历、按 JSON 值排序、两个 JSON 值之间的比较,以及对 JSON 键的 COUNT。动态 JSON 查找也不能包装在 LIKE、BETWEEN、IS NULL 或 CASE 表达式中。