Java Util SQL Parser 为正确的语句抛出异常

我的说法是


new_call.cdctype=goal.cdctype


当我对此调用方法 CCJSqlParser.SQLCondition() 时,我得到一个异常说


Encountered " "=" "= "" at line 1, column 17.

Was expecting one of:

    "NOT" ...

    "LIKE" ...

    "ILIKE" ...

    "NOT" ...

    "NOT" ...

关于为什么会发生这种情况的任何见解?我正在检查连接条件,我认为这是连接条件的合适表达式。


代码:


String sql = "new_call.cdctype=goal.cdctype";

CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));

    String errorMsg=null;

    try {

        parser.SQLCondition();

    } catch (ParseException e) {

        errorMsg=e.getMessage();

    }

    return errorMsg;


子衿沉夜
浏览 449回答 1
1回答

繁花不似锦

如果您深入研究JSqlParsers语法,您会发现SQLCondition只是以下之一:在之间一片空白存在喜欢表达。您指定了一个所谓的RegularCondition。以下是两种解析条件的方法://ShortcutExpression parseCondExpression = CCJSqlParserUtil.parseCondExpression("new_call.cdctype=goal.cdctype");System.out.println(parseCondExpression);//from issueString sql = "new_call.cdctype=goal.cdctype";CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql));try {    parser.RegularCondition();} catch (ParseException e) {    e.printStackTrace();}顺便说一下,我使用的是 JSqlParser V1.2。您的版本似乎有点旧,因为解析器的构造函数参数现在是Provider。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java