根据docs,我们可以......
使用正则表达式指定WHERE子句中带有值的标记。
当我像这样查询我的潮流数据库时,我得到了预期的结果。
> SELECT "field" FROM "measurement" WHERE tag = 19
然而,当用正则表达式替换where过滤时,我没有得到任何结果。
> SELECT "field" FROM "measurement" WHERE tag =~ /19/
有人可以告诉我为什么会这样吗?
答案 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/ )