【问题标题】:How to parse nested SQL statement using calcite?如何使用方解石解析嵌套的 SQL 语句?
【发布时间】:2017-08-16 08:44:45
【问题描述】:
Select a,b,c from d where d.id in (select id from (select id from e)) 

以上是我想使用方解石解析的示例查询。

【问题讨论】:

    标签: apache-calcite


    【解决方案1】:
    String query = "Select a,b,c from d where d.id in (select id from (select id from e))";
    
    try {
        SqlParser parser = SqlParser.create(query);
        SqlNode sqlNode = parser.parseQuery();
    
        sqlNode.accept(new SqlAnalyzer());
    
    } catch (SqlParseException e) {
        e.printStackTrace();
    }
    

    通过上面的代码,您可以使用 Calcite 来解析 SQL 查询,您将获得解析树。为了真正使用树,您需要通过实现org.apache.calcite.sql.util.SqlVisitor 接口来使用访问者模式。

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多