【发布时间】:2022-01-01 21:19:09
【问题描述】:
我正在尝试从 InfluxDB v1.x 读取数据,但仅限于特定时间段,示例:
从 2021-11-09/14:00:00 到 2021-11-10/14:00:00 获取 temper01 的值。
我知道这个代码是可能的:
"WHERE time >= '2021-11-09T14:00:00Z' AND time <= '2021-11-10T14:00:00Z'" 但我想知道是否可以使用变量而不是直接时间戳。
我试过这段代码:
msg.query = "SELECT time , Temper01, Temper02, Temper03 FROM "
+ global.get("ID_device1")
+ " WHERE time >= "
+ msg.payload;
+ " AND time <= '2021-11-18T00:00:00.000Z' " ;
但是msg.payload 的值并不重要,它只是从存储的第一个数据中获取数据,当我尝试单引号 msg.payload 时,我收到 invalid operation: time and *influxql.VarRef are not compatible" 错误消息。
【问题讨论】:
-
是的,就像您的previous 问题一样,诀窍是确保变量格式正确。
-
我直接声明了一个带有时间戳的字符串进行测试,我现在按部分构建字符串,但这次我收到此错误:`错误:发生 400 错误请求错误:{" error":"错误解析查询:无效持续时间"} `
-
这是我正在做的声明:timestart = '2021-11-08T14:00:00Z';
-
添加一些调试节点,直接比较有效和无效
-
我发现了错误,但我无法得到正确的行为,我先做开始日期,但无论加载多少 var 它只是从一开始就开始获取数据,味精.payload.startdate 它的格式正确,它似乎正常工作
标签: javascript timestamp influxdb