我正在使用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"}
任何想法如何在查询中转义测量名称。
答案 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));