起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 784|回复: 3

[结贴] KSQL错误

[复制链接]

368

主题

793

帖子

2438

积分

金牌会员

Rank: 6Rank: 6

积分
2438
QQ
发表于 2018-9-10 09:23:32 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
本帖最后由 胡屠户 于 2018-9-10 09:38 编辑

com.justep.design.model.ksql.KSQLException: 错误的表达式,位置:71, 需要下列之一:STRING, NUMBER, ONE_RELATION, IDENTIFER, VARIABLE


select SA_Task.*,
         case
                 when SQL.instr(SA_Task.SNAME, '通知:', -1, 1) > 0 then SQL.concat('知会:', SQL.substr(SA_Task.SNAME, SQL.instr(SA_Task.SNAME, '通知:', -1, 1)+1))
                 when SQL.instr(SA_Task.SNAME, '通知:', -1, 1) > 0 then SQL.concat('知会:', SQL.substr(SA_Task.SNAME, SQL.instr(SA_Task.SNAME, '通知:', -1, 1)+1))
                 when SQL.instr(SA_Task.SNAME, '回退:') > 0 THEN SA_Task.SNAME
                 when SQL.instr(SA_Task.SNAME, ':', -1, 1) > 0 then SQL.substr(SA_Task.SNAME, SQL.instr(SA_Task.SNAME, ':', -1, 1)+1)
                 when SQL.instr(SA_Task.SNAME, ':', -1, 1) > 0 then SQL.substr(SA_Task.SNAME, SQL.instr(SA_Task.SNAME, ':', -1, 1)+1)
                 else SA_Task.SNAME
         end as sName
from SA_Task SA_Task


在oracle中能执行,改为ksq后保存就提示上面的错误


KSQL  对instr不支持 -1               ???

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-9-10 10:49:53 | 显示全部楼层
发tomcat控制台完整的错误信息
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

368

主题

793

帖子

2438

积分

金牌会员

Rank: 6Rank: 6

积分
2438
QQ
 楼主| 发表于 2018-9-10 11:09:57 | 显示全部楼层
jishuang 发表于 2018-9-10 10:49
发tomcat控制台完整的错误信息
改完KSQL后保存报的错误:
[ERROR] check error! [com.justep.design.model.ksql.Utils 2018-09-10 11:09:40]
com.justep.design.model.ksql.KSQLException: 错误的表达式,位置:69, 需要下列之一:STRING, NUMBER, ONE_RELATION, IDENTIFER, VARIABLE
        at com.justep.design.model.ksql.Utils.check(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.constExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.unaryExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.multiExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.addExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.functionExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.unaryExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.multiExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.addExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.compExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.notExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.andExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.orExpression(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.whenNode(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.caseNode(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.selectColumn(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.selectListNode(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.selectSentenceNode(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.start(Unknown Source)
        at com.justep.design.model.ksql.KSQLParser.parse(Unknown Source)
        at com.justep.studio.ui.commonpanel.kql.KSQLUtils.string2Obj(Unknown Source)
        at com.justep.studio.ui.commonpanel.kql.KSQLMainDialog.okPressed(Unknown Source)
        at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
        at com.justep.studio.ui.commonpanel.kql.KSQLMainDialog.buttonPressed(Unknown Source)
        at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
        at org.eclipse.jface.window.Window.open(Window.java:801)
        at com.justep.studio.ui.editors.action.ActionParamValueEditorManager.openKSQLDlg(Unknown Source)
        at com.justep.studio.ui.editors.action.ActionParamValueEditorManager.openDlg(Unknown Source)
        at com.justep.studio.ui.editors.action.ActionDetailPanel$22.openDialog(Unknown Source)
        at com.justep.studio.ui.exjface.ComboDialogCellEditor$5.widgetSelected(Unknown Source)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
回复 支持 反对

使用道具 举报

368

主题

793

帖子

2438

积分

金牌会员

Rank: 6Rank: 6

积分
2438
QQ
 楼主| 发表于 2018-9-10 11:41:39 | 显示全部楼层
解决了
不支持-1
可以改为
SQL.TO_NUMBER('-1', '9')
结贴吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-26 03:57 , Processed in 0.063728 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表