如何在 Sybase 中删除 Table 和列名的区分大小写

How to remove case sensitivity for Table and column names in Sybase

我是 Sybase 的新手,我真的觉得用适当的大小写 table 名称和列名称编写 sql 很烦人。例如,如果 table 名称是 'Employee' 我不能查询为,

select * from employee

有没有办法在 Sybase 中改变这种行为?

我不想更改排序顺序或其他任何内容。我正在寻找绕过这个问题的技巧。

干杯!!

此行为是服务器排序顺序的结果。这是服务器级别设置,而不是数据库级别设置,因此更改将影响服务器上的所有数据库。此外,如果数据库处于复制状态,则所有连接的服务器也需要更改它们的排序顺序。

更改排序顺序还需要您重建系统中的所有索引。

这是关于选择或更改字符集和排序顺序的正确文档。

Configuring Character Sets, Sort Orders, and Languages

如评论中所述,它需要 DBA 级别的访问权限,并且必须重新启动服务器才能使更改生效。

正如其他回复中正确指出的那样,这是一个服务器级别的配置设置,可以更改。 但是,没有提到的是,在 ASE 中,区分大小写同样适用于标识符和数据比较。因此,如果您像此处讨论的那样配置不区分大小写的排序顺序,那么 'Johnson' 现在会被认为等于 'JOHNSON' - 这可能会在应用程序中造成问题。 从这个意义上说,ASE 不同于其他数据库,在其他数据库中,区分大小写的这两个方面是分离的。