我对oracle上的区分大小写有疑问。我正在开发一个访问oracle 11g数据库的项目,Oracle服务器安装在windows server 2008上。我们正在linux环境中部署这个应用程序,此时应用程序将与linux机器上的oracle数据库进行通信。
我想知道区分大小写是一个问题吗?恩。如果我的应用程序查询表名“Foo”为“select * from foo”,这在windows环境中不是问题,这会是linux中的问题吗?
感谢。
答案 0 :(得分:2)
在大多数情况下,从某种意义上讲,您所说的Oracle可以被视为不区分大小写。但实际情况并非如此。
不带引号的标识符不区分大小写。 Oracle解释它们 作为大写。带引号的标识符区分大小写
这意味着通常所有对象都是大写的,Oracle会对此进行处理:
select * from foo;
与:
相同select * from "FOO";
但是,如果您的表实际上是创建为区分大小写的,那么您必须指定正确的大小写:
select * from "Foo";
在实践中很少会将对象创建为区分大小写,但Oracle确实允许这样做。如果不清楚,请告诉我,我会尽力给出更好的解释