【问题标题】:Is quote REQUIRED in calcite sql parser?方解石 sql 解析器中是否需要引号?
【发布时间】:2020-02-24 22:40:46
【问题描述】:

从配置中有几个选项,\"[ 等。

但是,方解石可以解析不带引号的标识符吗?喜欢

select * from a.b?

现在我必须写

select * from \"a\".\"b\"

这有点烦人。

【问题讨论】:

    标签: apache-calcite


    【解决方案1】:

    从不需要引号,但您可能需要更改 Calcite 处理标识符大小写的方式,具体取决于您的应用程序。默认情况下,不带引号的标识符被转换为大写,带引号的标识符保持不变。所以如果你有小写的标识符,他们需要被默认引用。

    要更改此行为,您需要修改传递给 SqlParser 的配置,以便不带引号的标识符的大小写也保持不变。

    SqlParser.Config = SqlParser.configBuilder().setUnquotedCasing(Casing.Unchanged);
    SqlParser parser = SqlParser.create(/* what you're parsing here */, config);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多