Java Util SQL解析器为正确的语句引发异常

Java Util SQL解析器为正确的语句引发异常,java,jsqlparser,Java,Jsqlparser,我的声明是 new\u call.cdctype=goal.cdctype 当我对此调用方法CCJSqlParser.SQLCondition()时,我得到一个异常 Encountered " "=" "= "" at line 1, column 17. Was expecting one of: "NOT" ... "LIKE" ... "ILIKE" ... "NOT" ... "NOT" ... 对为什么会发生这种情况有什么见解吗? 我正在检查连

我的声明是

new\u call.cdctype=goal.cdctype

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

Encountered " "=" "= "" at line 1, column 17.
Was expecting one of:
    "NOT" ...
    "LIKE" ...
    "ILIKE" ...
    "NOT" ...
    "NOT" ...
对为什么会发生这种情况有什么见解吗? 我正在检查连接条件,我认为这是连接条件的适当表达式

代码:


如果您深入研究JSqlParsers语法,您会发现SQLCondition只是其中之一:

  • 中间
  • isnull
  • 存在
  • 像 表情
您指定了一个所谓的正则条件

以下是两种分析条件的方法:

//Shortcut
Expression parseCondExpression = CCJSqlParserUtil.parseCondExpression("new_call.cdctype=goal.cdctype");
System.out.println(parseCondExpression);

//from issue
String sql = "new_call.cdctype=goal.cdctype";
CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql));
try {
    parser.RegularCondition();
} catch (ParseException e) {
    e.printStackTrace();
}

顺便说一下,我正在使用JSqlParser V1.2。您的版本似乎有点旧,因为解析器的构造函数参数现在是一个提供者

发布您的源代码来测试它。希望这能奏效。很抱歉回复晚了,我正忙于其他工作。
//Shortcut
Expression parseCondExpression = CCJSqlParserUtil.parseCondExpression("new_call.cdctype=goal.cdctype");
System.out.println(parseCondExpression);

//from issue
String sql = "new_call.cdctype=goal.cdctype";
CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql));
try {
    parser.RegularCondition();
} catch (ParseException e) {
    e.printStackTrace();
}