postgresql 获取JDBC中标识符的缺省大小写

44u64gxh  于 2023-01-13  发布在  PostgreSQL
关注(0)|答案(1)|浏览(141)

在SQL中,您可以使用双引号来写入任何大小写的标识符,DBMS也有一个“默认”大小写,如果标识符没有被引号括起来,则使用该大小写。例如,PostgreSQL将未被引号括起来的标识符转换为小写,而Snowflake将它们转换为大写。
JDBC是否定义了一种标准的方法来区分特定DBMS的JDBC类型?

gfttwv5a

gfttwv5a1#

从理论上讲,DatabaseMetaData中的以下方法可以给予这些信息:

  • storesUpperCaseIdentifiers()
  • storesUpperCaseQuotedIdentifiers()
  • storesLowerCaseIdentifiers()
  • storesLowerCaseQuotedIdentifiers()
  • storesMixedCaseIdentifiers()
  • storesMixedCaseQuotedIdentifiers()

但根据我的经验,各种驱动程序返回的信息并不是100%可靠的。
Postgres驱动程序正确报告storesLowerCaseIdentifiers = true
MySQL驱动程序不检查服务器的配置,例如文件系统行为的各种组合lower_case_table_namesinnodb_file_per_table

相关问题