HyperSQL不区分大小写的分隔标识符

时间:2012-03-23 13:36:19

标签: sql hsqldb

HyperSQL在创建表时将所有列名称转换为大写,对 当使用无限制标识符选择内容时,标识符不区分大小写,并且 SELECT myColumn FROM myTable;
SELECT mYcOlUmN FROM myTable;
SELECT mycolumn FROM myTable;
会很好的。

但是,使用分隔标识符时,标识符区分大小写。所以
SELECT "MYCOLUMN" FROM myTable;
会工作,但

SELECT "myColumn" FROM myTable;
SELECT "mYcOlUmN" FROM myTable;
SELECT "mycolumn" FROM myTable;
不会!

所有我的查询大部分使用小写分隔标识符(不要问为什么)。
HyperSQL是否提供了一种使用不区分大小写的分隔标识符或将非引用标识符视为小写的方法?

1 个答案:

答案 0 :(得分:2)

如果不使用带引号的标识符,则标准SQL不区分大小写。当您使用它们时,引用的对象被视为区分大小写,而不带引号的名称被视为大写。

您可以将所有列重命名为小写版本。

ALTER TABLE MYTABLE ALTER COLUMN MYCOLUMN RENAME TO "mycolumn"

您可以通过选择PUBLIC架构中的所有表+列名并为每列执行重命名语句来以编程方式(在Java中)执行此操作。