2016-12-16 329 views

回答

1

在Calcite SQL中,可以引用标识符(表名和列名)。在默认方言中,您使用双引号。例如,

SELECT "a column" 
FROM "a table with spaces in the name" 

还要注意的是,当如果标识符被引用,方解石保留它们的情况下(它不转换为大写或小写),并使用区分大小写匹配。

顺便说一下,这与Oracle和其他几种常用的SQL方言是一样的。

+0

对我来说工作正常。我更改了SQL_SERVER中的默认方言。现在,我遇到了org.apache.calcite.sql.validate.SqlValidatorException:当我尝试运行SELECT [6a3c9c9a-a607-46ad-8fca-7308d82d58a4] .id时未找到表'6a3c9c9a-a607-46ad-8fca-7308d82d58a4' [6a3c9c9a-a607-46ad-8fca-7308d82d58a4] .name FROM [6a3c9c9a-a607-46ad-8fca-7308d82d58a4]针对MongoDB数据库。我已经用sqlline试过了,并且以!表的形式验证了6a3c9c9a-a607-46ad-8fca-7308d82d58a4的存在名称。 – Pete