IBM Cloud Docs
混合大小写行为

混合大小写行为

从IBM®watsonx.data版本2.0.0,新增了一项功能,可以在区分大小写和不区分大小写的行为之间进行切换Presto(Java ) 使用混合大小写功能标志。 混合大小写功能标志在以下情况下设置为 OFF:Presto(Java ) 默认情况下。 在部署期间,可以根据需要将该标志设置为 ON 或 OFFPresto(Java ) 引擎。 建议部署后不要在 ON 和 OFF 配置之间切换,因为这可能会导致系统行为不一致。 此功能不适用于 Presto (C++) 引擎。

混合大小写功能标志:ON

以下部分列出了混合大小写功能标志设置为 ON 时连接器的行为:

  • 所有连接器的一般行为

    • 列名称 SELECT 查询不区分大小写。

    • 在引用 WITH 子句中,必须使用定义时指定的准确别名(区分大小写)。 使用不正确的别名会触发以下错误消息:“未设置会话架构时必须指定架构。”

    • 对于使用指定的表 WITHUSEcatalog.schema子句中,别名区分大小写。 使用不正确的别名会触发以下错误消息:“表不存在”。

  • Hive:

    • WITH 子句的别名区分大小写。
  • 冰山

    • WITH 子句的别名区分大小写。
    • 列名称 ALTER table RENAMEALTER table DROP 区分大小写并且只接受小写。
  • MongoDB:

    • 列名称 DELETE 语句不区分大小写。
  • Teradata:

    • 无论大小写,都无法创建具有重复名称的表。
  • IBM NPSaaS:

    • 具有相同名称和大小写的表不能存在于具有相同名称但不同大小写的多个架构中。
  • 三角洲湖

    • 架构名称 SELECT 语句区分大小写。
  • Amazon Redshift:

    • 在里面Amazon Redshift服务器,如果配置设置为,则所有标识符都区分大小写:
       enable_case_sensitive_identifier=true
    
    • 在里面Amazon Redshift服务器,如果配置设置为,则仅获取小写标识符:
       enable_case_sensitive_identifier=false
    
  • SQL Server:

    • 在中启用区分大小写的排序规则SQL Server创建大小写混合的重复表。
  • Apache皮诺

    • 模式名称不区分大小写,与 Presto (Java) 引擎行为的大小写敏感性无关。

混合大小写功能标志:OFF

以下部分列出了混合大小写功能标志设置为 OFF 时连接器的行为:

  • MariaDB:

    • 表和模式名称应该小写。
  • Greenplum:

    • 表和模式名称应该小写。
  • IBM NPSaaS:

    • 架构名称 USE 如果您在之前使用它,则语句区分大小写 CREATE VIEW 陈述。
  • Db2:

    • 架构名称 USE 如果您在之前使用它,则语句区分大小写 CREATE VIEW 陈述。

有关混合大小写功能标志行为、支持的 SQL 语句和支持的数据类型矩阵的更多信息,请参阅 支持内容