当测量名称中包含连字符时 InfluxDB 查询问题

InfluxDB Query issue when measurement name have hyphen in it

我正在使用 Java 并查询 InfluxDb,如下所示,

queryResult1 = influxDB.query(new Query("SELECT last(timestamp)  FROM vale" , eachDatabase));

这个语句工作正常,但是当名称有任何特殊字符时,例如如果测量名称是 "vale-ab" 而不是 vale,它将不起作用。

我得到的错误是:

java.lang.RuntimeException: {"error":"error parsing query: found -, expected ; at line 1, char 34"}

知道如何在查询中转义测量名称。

您需要用双引号将您的测量值括起来 "

差:

select * from a-b

ERR: error parsing query: found -, expected ; at line 1, char 16

好:

select * from "a-b"

 name: a-b
 time                tag1 value
 ----                ---- -----
 1434089562000000000 10i  5

我没有在这台机器上安装 Java,但下面的代码应该可以解决您的问题。

queryResult1 = influxDB.query(new Query("SELECT last(timestamp)  FROM \"vale-vale\"" , eachDatabase));