File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed
main/jjtree/net/sf/jsqlparser/parser
test/java/net/sf/jsqlparser/statement/select Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -3498,7 +3498,7 @@ IntervalExpression IntervalExpression() : {
34983498{
34993499
35003500{ interval = new IntervalExpression(); }
3501- <K_INTERVAL> ["-" {signed=true;}] (token=<S_LONG> | token=<S_DOUBLE> | token=<S_CHAR_LITERAL> | expr = Column () | expr = JdbcNamedParameter() | expr = SimpleJdbcParameter () )
3501+ <K_INTERVAL> ["-" {signed=true;}] (token=<S_LONG> | token=<S_DOUBLE> | token=<S_CHAR_LITERAL> | LOOKAHEAD(SimpleJdbcParameter()) expr = SimpleJdbcParameter () | expr = JdbcNamedParameter() | LOOKAHEAD(Function()) expr = Function () | expr = Column() )
35023502 {
35033503 if (expr != null) {
35043504 if (signed) expr = new SignedExpression('-', expr);
Original file line number Diff line number Diff line change @@ -2308,6 +2308,12 @@ public void testIntervalWithColumn() throws JSQLParserException {
23082308 assertSqlCanBeParsedAndDeparsed (stmt );
23092309 }
23102310
2311+ @ Test
2312+ public void testIntervalWithFunction () throws JSQLParserException {
2313+ String stmt = "SELECT DATE_ADD(start_date, INTERVAL COALESCE(duration, 21) MINUTE) AS end_datetime FROM appointment" ;
2314+ assertSqlCanBeParsedAndDeparsed (stmt );
2315+ }
2316+
23112317 @ Test
23122318 public void testInterval1 () throws JSQLParserException {
23132319 String stmt = "SELECT 5 + INTERVAL '3 days'" ;
You can’t perform that action at this time.
0 commit comments