2016-08-30 5 views
1

В настоящее время я использую Siddhi QL, и у меня есть простое требование. Входные данные приведены в цитате, например.WSO2 DAS Подстрока

"яблоко"

и результат будет:

яблоко

Я попытался с помощью

select substr(inputDATA,1,4) as out insert into outputStream;

Чем я получаю ошибку

"substr is neither a function nor an aggregated attribute, " 

Однако я попытался с помощью JS внутри сиддхи для подстроки `

определяют функцию splitFn [JavaScript] возвращаемой строки {}

это, но я получил:

`jdk.nashorn.internal.runtime.ParserException: <eval>:1:22 Missing 

space after numeric literal var data = [""tempID=1wef"",0]` 

У вас есть альтернативное решение; или я делаю что-то неправильно

ответ

1

Вы должны использовать функцию сиддхи с пространством имен

str:substr(inputDATA,1,4) 

например

select str:substr(inputDATA,1,4) as out insert into outputStream; 

См Siddhi Documentation для дальнейшего использования.

+0

Спасибо за ввод; я видел документ, но до сих пор не смог найти фактический метод, чтобы сделать это правильно ... Thnkx снова –

+0

Функция должна вызываться в «: <имя функции> (, , ...)" syntext и вы можете найти все расширения на https://docs.wso2.com/display/CEP400/Siddhi+Extensions – suho

+1

Это хорошо знать; как я уже сказал, я также просмотрел документацию, но не мог понять, для чего предназначено «пространство имен». Я бы очень помог, если бы был рабочий пример, присутствующий в doc. –

Смежные вопросы