Open shuitai opened 2 years ago
Greetings.
The RDBMS specific <timestamp> TO HOUR
is not supported (simply because it is not standard compliant. Maybe you can use the standard complaint Extract( <field> FROM <expression>)
instead.
Without the TO HOUR
your statement parses fine.
Cannot parse druid sql: https://druid.apache.org/docs/latest/querying/sql.html
String sql = "SELECT count(machineId), FLOOR(__time TO HOUR) FROM xaxd_brokerloadindexv1 WHERE __time BETWEEN '2010-02-12 00:00:00' AND '2019-02-23 00:00:00' GROUP BY FLOOR(__time TO HOUR)"; Select select = (Select) CCJSqlParserUtil.parse(sql);
The sample SQL is: SELECT count(machineId), FLOOR(__time TO HOUR) FROM xaxd_brokerloadindexv1 WHERE time BETWEEN '2010-02-12 00:00:00' AND '2019-02-23 00:00:00' GROUP BY FLOOR(time TO HOUR)
The exception is: Exception in thread "main" net.sf.jsqlparser.JSQLParserException: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "(" at line 1, column 31.
Was expecting one of:
Caused by: java.util.concurrent.ExecutionException: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "(" at line 1, column 31.
Was expecting one of:
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "(" at line 1, column 31.
Was expecting one of: