Wso2 我们可以在Siddhi SQL语句中使用变量吗?

Wso2 我们可以在Siddhi SQL语句中使用变量吗?,wso2,wso2cep,siddhi,wso2-das,Wso2,Wso2cep,Siddhi,Wso2 Das,我将在SQL表达式中的许多语句中使用相同的值。因此,在查询开始时可以声明并将值分配给变量,并通过它引用值? (我正在WSO2 DAS中编写执行计划)目前不支持此操作。但是,支持这一点正在讨论中,因此这可能会在将来的版本中实现 如果要存储值并在查询中使用,当前可用的方法有: 将该值放入,然后在需要时与事件表进行连接以读取该值 内存中的索引事件表内部使用哈希映射,因此可以使用哈希映射存储变量,哈希映射的键将是变量的名称,哈希映射的值将是变量的值 然而,我觉得上述解决方案对于您的要求来说太复杂了

我将在SQL表达式中的许多语句中使用相同的值。因此,在查询开始时可以声明并将值分配给变量,并通过它引用值?
(我正在WSO2 DAS中编写执行计划)

目前不支持此操作。但是,支持这一点正在讨论中,因此这可能会在将来的版本中实现

如果要存储值并在查询中使用,当前可用的方法有:

  • 将该值放入,然后在需要时与事件表进行连接以读取该值
内存中的索引事件表内部使用哈希映射,因此可以使用哈希映射存储变量,哈希映射的键将是变量的名称,哈希映射的值将是变量的值

然而,我觉得上述解决方案对于您的要求来说太复杂了

  • 使用

@PasinduJw我目前正在使用Siddhi QL,我有一个奇怪的要求。输入数据在引号中给出,例如“apple”,输出为:apple。我已经尝试使用selectsubstr(sensorId,1,4)作为outputStream的输出插入;然后我得到了错误“substr既不是函数也不是聚合属性”,但是我尝试使用JS对其进行子串,结果是:jdk.nashorn.internal.runtime.ParserException::1:22在数值文本变量data=[“tempID=1wef”,0]之后缺少空格您有其他解决方案吗;或者我做错了什么在siddhi中使用substr函数的正确方法如下:选择str:substr(sensorId,1,4)作为字符串的一部分。您也可以使用replaceAll函数。