Influxdb查询:通过正则表达式指定或过滤标记

时间:2017-03-28 17:52:11

标签: regex influxdb

根据docs,我们可以......

  

使用正则表达式指定WHERE子句中带有值的标记。

当我像这样查询我的潮流数据库时,我得到了预期的结果。

> SELECT "field" FROM "measurement" WHERE tag = 19

然而,当用正则表达式替换where过滤时,我没有得到任何结果。

> SELECT "field" FROM "measurement" WHERE tag =~ /19/

有人可以告诉我为什么会这样吗?

2 个答案:

答案 0 :(得分:6)

我自己发现了错误......

我有一个字段和一个带有相同键的标签。所以我在做

> SELECT "filed_key" from "measurement" WHERE field_key =~ /val/

现在我更改了架构,以便跨字段和标记的键是唯一的,并且一切都按预期工作。

还在github上讨论了这一现象。

答案 1 :(得分:0)

使用 Flux Query for InfluxDB 2.0 的正则表达式。

源代码:https://docs.influxdata.com/influxdb/cloud/query-data/flux/regular-expressions/

以下示例排除了字段键中没有 _percent 的记录。

<块引用>

from(bucket: "example-bucket")
|> 范围(起点:-15m)
|> 过滤器(fn:(r) => r._measurement == "mem" 和 r._field =~ /_percent/ )