中文的sql语句解析出异常
我用带sql语句解析是出现异常 这是源码
Statement statement =pm.parse(new StringReader("select * from a where 姓名='崔永远'"));
if (statement instanceof Select) {
Select selectStatement = (Select) statement;
PlainSelect ps= (PlainSelect)selectStatement.getSelectBody();
System.out.println(selectStatement.getSelectBody());
System.out.println(ps.getWhere().toString());
System.out.println(((GreaterThan) ps.getWhere()).getRightExpression());
System.out.println(((GreaterThan) ps.getWhere()).getStringExpression());
SqlParsersUtil sqlParsersUtil = new SqlParsersUtil();
List tableList = sqlParsersUtil.getTableNames(selectStatement);
for (Iterator iter = tableList.iterator(); iter.hasNext();) {
System.out.println(iter.next().toString());
}
}
下面是异常信息
Exception in thread "main" net.sf.jsqlparser.parser.ParseException: Encountered "<EOF>" at line 0, column 0.
Was expecting one of:
"DROP" ...
"WITH" ...
"DELETE" ...
"CREATE" ...
"SELECT" ...
"INSERT" ...
"UPDATE" ...
"REPLACE" ...
"TRUNCATE" ...
"(" ...
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:5530)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:5406)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:138)
at com.ytec.bi.ride.analytics.util.SqlParsersUtil.main(SqlParsersUtil.java:172)