emqx 的规则 SQL 是否支持类似 mysql if 函数这样的判断。 例如,判断消息体中某个属性(pressure)的值是否大于0,如果是大于0,则存储到数据库中的状态(data_status)为1,否则为0。 想要的效果是: select if(payload.pressure > 0,1,0) as data_status from “mytopic/#”。
采用实现: #CASE-WHEN 语法示例
谢谢,已经用其他方式解决了。 使用 int(bool(属性值 > 0)) 这样的函数嵌套可直接取得 0 或 1。