如何在HSQL中关闭表名和列名的强制大写模式?
<artifactId>hsqldb</artifactId>
<version>2.3.1</version>
操作系统: Windows 7 x64
答案 0 :(得分:10)
有关此问题的规则在HSQLDB documentation:
中有解释使用其中一个CREATE语句创建数据库对象时 如果名称用double括起来,则使用ALTER语句重命名 引号,确切的名称用作案例正常形式。但如果是的话 未用双引号括起来,名称将转换为大写和 这个大写版本作为case-normal存储在数据库中 形式。
标识符的区分大小写规则可简单描述为 如下:
- 除了双引号中的标识符和单引号中的字符串外,SQL语句的所有部分在处理之前都会转换为大写 引号
然后将- 标识符(不带引号和双引号)视为区分大小写
- 大多数数据库引擎遵循相同的规则,但在某些方面除了MySQL和MS SQLServer。
AFAIK此行为无法关闭。 (值得注意的是,当不使用带引号的标识符时,标准SQL不区分大小写。)但如上所述,可以通过用引号括起来指定小写标识符,例如:
CREATE TABLE "lowercasetablename" ("lowercasecolname" INT);
SELECT "lowercasecolname" FROM "lowercasetablename";
答案 1 :(得分:1)
我不确定,我正确地理解了这个问题,但只是想付出一些努力。
SET DATABASE COLLATION SQL_TEXT_UCC