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

时间:2017-08-18 01:34:47

标签: java influxdb

我正在使用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"}

任何想法如何在查询中转义测量名称。

1 个答案:

答案 0 :(得分:1)

您需要使用双引号"包装测量值。

<强>为:

select * from a-b

  

错误:解析查询时出错:找到 - ,预期;在第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));