当前使用版本(必填,否则不予处理)

3.4.3.3

该问题是如何引起的?(确定最新版也有问题再提!!!)

3.4.3.3 引用 jsqlparser 4.1版本, sql 验证存在问题

重现步骤(如果有就写完整)

这个sql 在 mapper 里写也会报相同的错误 目前通过升级 jsqlparser 4.2 解决.

public static void main(String[] args) throws Exception {
String sql = "SELECT   app_id AS appId," +
                "IF(adType in ('Interstitial', 'Reward', 'Banner'), adType, 'Other') AS bizType" +
                "      FROM test_table ";
        CCJSqlParserManager parserManager = new CCJSqlParserManager();
        Select select = (Select) parserManager.parse(new StringReader(sql));
}

报错信息

 Exception in thread "main" net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "(" "("
    at line 1, column 28.

Was expecting one of:

    "&"
    ","
    "::"

Comment From: TopSkyhua

同问

Comment From: huayanYu

先本地升级吧