How To Add Where Condition To Sql With Jsqlparser?
I want to add where condition to sql with JSqlParser, for example: Before: select * from test_table where a=1 group by c After: select * from test_table where a=1 and b=2 group by
Solution 1:
One solution would be:
String sql = "select * from test_table where a=1 group by c";
Selectselect = (Select) CCJSqlParserUtil.parse(sql);
Expression where = CCJSqlParserUtil.parseCondExpression("a=1 and b=2");
((PlainSelect) select.getSelectBody()).setWhere(where);
System.out.println(select.toString());
First, you have to parse the existing SQL. Using this PlainSelect cast you are getting access to the where clause of your statement, at least at the object it holds it.
The where expression is generated using the convenience method CCJSqlParserUtil.parseCondExpression
.
The output of those statements is:
SELECT * FROM test_table WHERE a = 1AND b = 2GROUPBY c
Post a Comment for "How To Add Where Condition To Sql With Jsqlparser?"