InfluxQL 日期和时间函数
InfluxDB 3核心正在进行公开测试
InfluxDB 3 Core 正在进行公开 alpha 测试,并可供测试和反馈,但不适合用于生产环境。产品和本文件都是进行中的工作。我们欢迎并鼓励您分享您对 alpha 版本的体验,并邀请您加入我们的公共频道以获取更新和分享反馈。
阿尔法预期和建议
- 在 alpha 期间,我们可能会进行重大更改,这需要您删除您的数据并重新开始。如果您使用的数据很重要,请在其他地方保存备份副本。
- 在 alpha 期间,我们在每次合并到 InfluxDB
main 分支时生成新构建。更改频繁,相关更新会发布到我们的公共频道。
使用InfluxQL日期和时间函数执行与时间相关的操作。
现在()
返回当前系统时间(UTC)。仅在WHERE子句中支持。
时间()
在GROUP BY子句中使用,以将数据分组为基于时间的区间,也称为“窗口”,使用指定的间隔。time列中的时间戳更新为它们所在窗口的起始边界,并按time分组。窗口使用基于指定间隔的预设整数边界,这些边界独立于WHERE子句中的时间条件。
此操作可用于执行以下任务:
- 通过将每个窗口中的多个点聚合成一个点来降低数据采样。
- 将不规则时间序列数据标准化,以便在规律的时间间隔内发生。
仅在GROUP BY子句中支持。
参数
- interval: 指定窗口间隔的持续时间文字。
- offset: 持续时间字面量,向前或向后移动预设时间边界。 可以是正数或负数。 默认值是
0s.
示例
将数据下采样为基于时间的间隔
以下示例使用了
比特币价格样本数据集。
SELECT
MEAN(price)
FROM bitcoin
WHERE
code = 'GBP'
AND time >= '2023-05-01T00:00:00Z'
AND time < '2023-05-15T00:00:00Z'
GROUP BY time(2d)
| 时间 | 平均值 |
|---|
| 2023-05-01T00:00:00Z | 23680.120447159094 |
| 2023-05-03T00:00:00Z | 24048.71484033149 |
| 2023-05-05T00:00:00Z | 24461.9194901099 |
| 2023-05-07T00:00:00Z | 23796.43801933702 |
| 2023-05-09T00:00:00Z | 23118.709889285707 |
| 2023-05-11T00:00:00Z | 22465.008364444446 |
| 2023-05-13T00:00:00Z | 22499.464763186803 |
时区()
对查询结果中的时间戳应用时区偏移。
偏移量包括任何季节性偏移,例如夏令时(DST)或
英国夏令时(BST)。
仅在时区子句中支持。
参数
示例
返回芝加哥时区的UTC偏移量
以下示例使用了
Get started home sensor sample dataset。
SELECT *
FROM home
WHERE
room = 'Kitchen'
AND time >= '2022-01-01T08:00:00Z'
AND time <= '2022-01-01T12:00:00Z'
tz('America/Chicago')
| 时间 | 二氧化碳 | 湿度 | 房间 | 温度 |
|---|
| 2022-01-01T02:00:00-06:00 | 0 | 35.9 | 厨房 | 21 |
| 2022-01-01T03:00:00-06:00 | 0 | 36.2 | 厨房 | 23 |
| 2022-01-01T04:00:00-06:00 | 0 | 36.1 | 厨房 | 22.7 |
| 2022-01-01T05:00:00-06:00 | 0 | 36 | 厨房 | 22.4 |
| 2022-01-01T06:00:00-06:00 | 0 | 36 | 厨房 | 22.5 |