TL;DR InfluxDB 技术提示 - 在 InfluxQL 中使用单引号与双引号
作者:Regan Kuchan / 开发者
2016 年 7 月 21 日
导航至
在这篇文章中,我们回顾了本周最有趣的 InfluxDB 和 TICK-stack 相关问题、在 InfluxQL 中使用单引号与双引号的解决方法、操作指南以及来自 GitHub、IRC 和您可能错过的 InfluxDB Google Group 的问答。
在查询中指定时间
问:我看到当我将数据写入 InfluxDB 时,Line Protocol 仅接受 epoch 格式的时间。查询也只接受 epoch 格式的时间吗?
答:除了 epoch 时间戳之外,InfluxQL 还接受多种不同的时间格式。查询可以使用相对时间格式和绝对时间格式。
对于相对时间,请使用 now()
和有效的时间持续时间单位,以指定基于服务器当前 Unix 时间的时间。例如,从测量值 einstein
中选择过去 10 分钟内发生的所有时间戳
SELECT * FROM "einstein" WHERE time > now() - 10m
对于绝对时间,请使用 RFC3339 类似格式的日期时间字符串、RFC3339 格式的日期时间字符串或 epoch 时间。例如,以下三个查询从测量值 absolutismus
中选择时间为 2016 年 7 月 20 日星期三 16:00:00 的所有内容
SELECT * FROM "absolutismus" WHERE time = '2016-07-20 16:00:00'
SELECT * FROM "absolutismus" WHERE time = '2016-07-20T16:00:00Z'
SELECT * FROM "absolutismus" WHERE time = 1469030400000000000
有关在查询中指定时间的更多信息,请查看数据探索。
在查询中指定多个函数
问:我想同时计算同一字段的最小值和最大值。目前,我正在使用分号分隔的两个查询来执行此操作,但这似乎有很多文本。有没有更简单的方法来做到这一点?
这两个查询
curl -GET 'http://localhost:8086/query?db=claymation&pretty=true' --data-urlencode 'q=SELECT min("movement") FROM "take_1";SELECT max("movement") FROM "take_1"'
答:是的!您可以在单个查询中包含多个函数;只需用逗号分隔函数即可
SELECT min("movement"),max("movement") FROM "take_1"
选择标签没有值的数据
问:我想从特定标签没有值的测量值中选择字段值。我尝试使用 ""
来执行此操作,但我没有得到任何结果。有没有办法在 InfluxQL 中做到这一点?
> SELECT * FROM "vases"
name: vases
-----------
time origin priceless
2016-07-20T18:42:00Z 8
2016-07-20T18:42:00Z 1 yes
> SELECT * FROM "vases" WHERE priceless=""
答:是的,使用单引号指定空标签值
> SELECT * FROM "vases" WHERE priceless=''
name: vases
-----------
time origin priceless
2016-07-20T18:42:00Z 8
查看查询中的单引号和双引号以获取更多信息!
有关更多 InfluxDB 提示,请参阅我们的常见问题解答页面,并随时在 InfluxDB 用户组中发布您的问题。
下一步是什么?
- 在您的基础设施上寻找 InfluxDB 集群?开始使用 InfluxDB Enterprise Beta,现在可用于评估。
- 下载并开始使用 InfluxDB 1.0 Beta 3
- 安排与解决方案架构师的免费 20 分钟咨询,以审查您的 InfluxDB 项目
- 参加我们的免费虚拟培训研讨会之一。