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

QQ登录

只需一步,快速开始

查看: 3932|回复: 5

[处理中3] ksql排序中使用函数报错

[复制链接]

407

主题

926

帖子

2039

积分

金牌会员

Rank: 6Rank: 6

积分
2039
QQ
发表于 2020-8-12 11:55:57 | 显示全部楼层 |阅读模式
select VIEW_BID_ENROLL.*
    from VIEW_BID_ENROLL VIEW_BID_ENROLL
    order by substring(VIEW_BID_ENROLL.BIDNO,2,10) desc

提示:

Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: select VIEW_BID_ENROLL.*     from VIEW_BID_ENROLL VIEW_BID_ENROLL     order by substring(VIEW_BID_ENROLL.BIDNO,2,10) desc LIMIT 0, 50
--> sql:
--> binds: []
    at com.justep.exception.BusinessException.create(Unknown Source)
    at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
    at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
    at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
    at com.justep.system.data.KSQL.select(Unknown Source)
    at KSQLProcedure.query(KSQLProcedure.java:17)
    ... 30 more
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, er by substring^^(VIEW_BID_ENROL中未找到需要的元素, 位置88期望是<EOF>
    at com.justep.exception.KSQLException.create(Unknown Source)
    at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
    at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
    at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
    at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
    at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
    ... 35 more



91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-8-12 16:59:36 | 显示全部楼层
SQL.调用数据库的函数实现看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

407

主题

926

帖子

2039

积分

金牌会员

Rank: 6Rank: 6

积分
2039
QQ
 楼主| 发表于 2020-8-12 17:49:04 | 显示全部楼层
jishuang 发表于 2020-8-12 16:59
SQL.调用数据库的函数实现看看

SQL可以,ksql是不是没法实现?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-8-12 19:11:16 | 显示全部楼层
我说的是order by后面的函数用SQL.开头去调用看看,就是用调用sql的本地函数执行
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

407

主题

926

帖子

2039

积分

金牌会员

Rank: 6Rank: 6

积分
2039
QQ
 楼主| 发表于 2020-8-13 14:28:38 | 显示全部楼层
jishuang 发表于 2020-8-12 19:11
我说的是order by后面的函数用SQL.开头去调用看看,就是用调用sql的本地函数执行 ...

select VIEW_BID_ENROLL.*
    from VIEW_BID_ENROLL VIEW_BID_ENROLL
    order by SQL.substr(VIEW_BID_ENROLL.BIDNO,2,10) desc

报错:
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, r by SQL.substr^^(VIEW_BID_ENROL中未找到需要的元素, 位置91期望是<EOF>
        at com.justep.exception.KSQLException.create(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
        at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
        at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
        ... 35 more
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-8-13 17:16:49 | 显示全部楼层
那就是ksql中不能这样写,需要用sql实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 17:34 , Processed in 0.051380 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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