在sql中使用函数,遇到net.sf.jsqlparser.parser.ParseException异常

本文详细解析了在使用JSQParser进行SQL语句解析时遇到的ParseException异常原因,并提供了具体的解决方案,包括如何在pom.xml文件中正确配置依赖,确保项目能够顺利运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常详情如下

 

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered " "->" "-> "" at line 1, column 31.
Was expecting one of:
<EOF>
"AS" ...
"DO" ...
"ANY" ...
"KEY" ...
……(中间省略很多符号)

at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:13996)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:13852)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:78)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:52)
... 99 more

 

参考 https://blog.youkuaiyun.com/weixin_36146275/article/details/79355544

定位原因为:在sql语句中使用了IF函数,缺少sql解析工具的jar包

 

解决方案:在pom.xml文件中添加关于jsqlparser的依赖,注意必须使用0.9以上的版本,否则运行时会报错

 

<!--必须使用0.9以上的版本-->
<dependency>
    <groupId>com.github.jsqlparser</groupId>
    <artifactId>jsqlparser</artifactId>
    <version>1.4</version>
</dependency>

 

转载于:https://www.cnblogs.com/dubhlinn/p/10369385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值