【问题标题】:Can we use variables in Siddhi SQL statements?我们可以在 Siddhi SQL 语句中使用变量吗?
【发布时间】:2016-09-22 18:03:00
【问题描述】:

我将在 SQL 表达式的许多语句中使用相同的值。那么有可能在查询开始时声明并赋值给一个变量,并通过它来引用这个值吗? (我正在 WSO2 DAS 中编写执行计划)

【问题讨论】:

    标签: wso2 wso2cep siddhi wso2-das


    【解决方案1】:

    目前不支持此功能。但是,支持这一点已在讨论中,因此可能会在未来的版本中实现。

    如果你想存储一个值并在查询中使用它,目前可用的方法是:

    • 将该值放入indexed event table,然后在需要时与事件表进行连接以读取该值。

    索引内存事件表在内部使用哈希映射,因此您可以使用哈希映射来存储变量,这样哈希映射的键将是您的变量的名称,而哈希映射的值将是成为变量的值。

    但是我觉得上述解决方案对于您的要求来说太复杂了。

    【讨论】:

    • @PasinduJw 我目前正在使用 Siddhi QL,我有一个奇怪的要求。输入数据在报价中给出,例如“苹果”,输出将是:苹果。我尝试使用 select substr(sensorId,1,4) as out insert into outputStream;比我收到错误“substr 既不是函数也不是聚合属性”,但是我尝试使用 JS 对其进行子串化,我得到:jdk.nashorn.internal.runtime.ParserException: :1:22 Missing space after数字文字 var data = [""tempID=1wef"",0] 你有其他解决方案吗?还是我做错了什么
    • siddhi中substr函数的正确使用方法如下:select str:substr(sensorId,1,4) as partOfString。您也可以使用 replaceAll 函数。
    猜你喜欢
    • 1970-01-01
    • 2014-12-27
    • 2011-05-24
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    相关资源
    最近更新 更多