0

我有一个关于 oracle 区分大小写的问题。我正在做一个访问 oracle 11g 数据库的项目,Oracle 服务器安装在 windows server 2008 上。我们正在将此应用程序部署在 linux 环境中,此时该应用程序将与 linux 机器上的 oracle 数据库通信。

我想知道区分大小写是否会成为问题?前任。如果我的应用程序将表名“Foo”查询为“select * from foo”,这在 windows 环境中不是问题,这在 linux 中会出现问题吗?

谢谢。

4

1 回答 1

2

在大多数情况下,就您所说的 Oracle 而言,可以被视为不区分大小写。然而,事实并非如此。

文档中:

不带引号的标识符不区分大小写。Oracle 将它们解释为大写。带引号的标识符区分大小写

这意味着通常所有对象都是大写的,Oracle 会处理:

select * from foo;

相同:

select * from "FOO";

但是,如果您的表实际上是创建为区分大小写的,那么您必须指定正确的大小写:

select * from "Foo";

在实践中很少会创建区分大小写的对象,但 Oracle 确实允许这样做。如果不清楚,请告诉我,我会尽力给出更好的解释

于 2012-08-07T20:57:37.517 回答