Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HyperSQL不区分大小写分隔标识符_Sql_Hsqldb - Fatal编程技术网

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

HyperSQL不区分大小写分隔标识符,sql,hsqldb,Sql,Hsqldb,HyperSQL在创建表时将所有列名转换为大写,对吗。 使用不受限制的标识符选择时,标识符不区分大小写且 从myTable中选择myColumn或 从myTable中选择mYcOlUmN或 从myTable中选择mycolumn 会很好的 但是,当使用分隔标识符时,标识符区分大小写。所以 从myTable中选择“MYCOLUMN” 将工作,但 从myTable中选择“myColumn”或 从myTable中选择“mYcOlUmN”或 从myTable中选择“mycolumn” 不会的 我的大多数

HyperSQL在创建表时将所有列名转换为大写,对吗。
使用不受限制的标识符选择时,标识符不区分大小写且
从myTable中选择myColumn
从myTable中选择mYcOlUmN
从myTable中选择mycolumn
会很好的

但是,当使用分隔标识符时,标识符区分大小写。所以
从myTable中选择“MYCOLUMN”
将工作,但

从myTable中选择“myColumn”
从myTable中选择“mYcOlUmN”
从myTable中选择“mycolumn”
不会的

我的大多数查询都使用小写分隔标识符(不要问为什么)。

HyperSQL是否提供了一种使用不区分大小写的分隔标识符或将不带引号的标识符视为小写的方法?

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

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

ALTER TABLE MYTABLE ALTER COLUMN MYCOLUMN RENAME TO "mycolumn"

通过在公共模式中选择所有表+列名,并对每一列执行rename语句,您可以通过编程(在Java中)实现这一点。

Ups。。我误导了你!我的大多数查询都使用小写的带引号的标识符!在您的示例中,所有进一步的select查询都应该使用带引号的标识符,因为不带引号的查询被视为大写!用法必须一致并遵守规则。没有别的办法。