TL;DR InfluxDB 技术提示 - 查询与写入布尔值 & 检查字段类型
作者:Regan Kuchan / 开发者
2016 年 6 月 1 日
导航至
在这篇文章中,我们回顾了本周最有趣的 InfluxDB 和 TICK-stack 相关问题、解决方法、关于写入布尔值的操作指南以及来自 GitHub、IRC 和 InfluxDB Google Group 的问答,您可能错过了这些内容。
查询非 DEFAULT 保留策略中的数据
问: 我创建了一个名为 secret_garden
的新保留策略。我开始将数据写入该保留策略,日志显示写入成功,但是当我查询数据时,我得到一个空响应。我哪里做错了?
SHOW RETENTION POLICIES
查询的结果
> SHOW RETENTION POLICIES ON "lands"
name duration shardGroupDuration replicaN DEFAULT
default 0 168h0m0s 1 true
secret_garden 24h0m0s 1h0m0s 1 false
SELECT
查询的结果
> SELECT * FROM "foliage"
>
答: 保留策略 secret_garden
不是您数据库的 DEFAULT
保留策略(请参阅 SHOW RETENTION POLICIES
输出中的第五列)。
如果您要查询非 DEFAULT
保留策略中的数据,您需要完全限定测量值 foliage
。通过在 FROM
子句中指定数据库和保留策略来完全限定测量值:<"database">.<"retention_policy">.<"measurement">
。
示例
> SELECT * FROM "lands"."secret_garden"."foliage"
name: foliage
-------------
time roses
2016-05-31T17:09:04.697144667Z 3
2016-05-31T17:09:07.096708707Z 5
检查字段类型
问: 有办法查看字段的数据类型吗?
答: 从 InfluxDB 1.0 版本开始,SHOW FIELD KEYS
查询也会返回字段类型。
示例
> SHOW FIELD KEYS FROM all_the_types
name: all_the_types
-------------------
fieldKey fieldType
blue string
green boolean
orange integer
yellow float
查询与写入布尔值
问: 我能够成功地将布尔值写入我的数据库,但似乎无法在查询的 WHERE
子句中使用它们。
> INSERT hamlet tobe=t
> INSERT hamlet tobe=f
> SELECT * FROM "hamlet" WHERE "tobe"=t
>
答: 写入和查询可接受的布尔语法有所不同。
在您的情况下,InfluxDB 了解 t
在您写入数据时表示 true,但不了解 t
在您查询数据时表示 true。您需要在查询中使用 true
、True
或 TRUE
来引用该布尔值。
示例
> SELECT * FROM "hamlet" WHERE "tobe"=true
name: hamlet
------------
time tobe
2016-05-31T18:07:32.93151244Z true
如需更多 InfluxDB 技巧,请查看我们的 常见问题 页面,并随时在 InfluxDB 用户组 中发布您的问题。
下一步是什么?
- 下载 并 开始使用 InfluxDB v0.13
- 安排与解决方案架构师进行 免费 20 分钟咨询,以审查您的 InfluxDB 项目
- 参加我们的免费 虚拟培训研讨会 之一。
- 在您的基础设施上寻找 InfluxDB 集群? 联系销售 以获取 InfluxDB Enterprise 的演示和定价信息。