我想向我的 sql 添加新条件。例如如果查询是;
SELECT EMP_ID, FIRST_NAME FROM EMPLOYEES;
我可以使用此代码添加新的 where 原因;
@Override
protected void setLimit(final PlainSelect ps,final long rowLimit) {
Expression where = ps.getWhere();
if(where == null) {
try {
where = CCJSqlParserUtil.parseCondExpression("ROWNUM < " + (rowLimit+1) );
} catch (JSQLParserException e) {
e.printStackTrace();
}
}
ps.setWhere(where);
}
此代码将查询更改为
SELECT EMP_ID, FIRST_NAME FROM EMPLOYEES WHERE ROWNUM < 10;
...
但问题是查询是什么时候;
SELECT EMP_ID, FIRST_NAME FROM EMPLOYEES WHERE EMP_ID = 10 AND EMP_ID = 10 AND FIRST_NAME = 'Steven';
我无法向当前条件添加新条件。有没有办法将此查询更改为喜欢;
SELECT EMP_ID, FIRST_NAME FROM EMPLOYEES WHERE EMP_ID = 10 AND EMP_ID = 10 AND FIRST_NAME = 'Steven' AND ROWNUM < 10;
有没有办法用 JSqlParser 做到这一点?