问题描述
我正在努力使用Presto Parser生成sql语句。这是用例的详细信息-
到目前为止,我使用Facebook Presto parser在第1步和第2步上取得了成功,还无法弄清楚如何生成sql?
解决方法
您可以使用SqlFormatter类(https://github.com/prestosql/presto/blob/master/presto-parser/src/main/java/io/prestosql/sql/SqlFormatter.java)将已解析的语法树转换回SQL文本:
SqlParser parser = new SqlParser();
Statement statement = parser.createStatement("SELECT * FROM t WHERE v = 0",new ParsingOptions());
String formatted = SqlFormatter.formatSql(statement);
请记住,这些不是Presto中的公共API,并且会随时更改。