1. Unlike other database-vendor products (example: Sybase, MS SQL Server, et cetera), Oracle is case-sensitive without choice. If you want Oracle to use case-insensitive comparison, you manually enforce case-insensitivity via your use of the UPPER(<expression>) or LOWER(<expression>) functions.
2. "select * from nls_database_parameters;"
Among the results will be:
NLS_CHARACTERSET <character_set>
FYI both Sybase and MSSQL are case sensitive when referencing objects on the command line OR within the data dictionary. Unlike Oracle, a command like "select * from MY_TABLE" results in error if MY_TABLE is created in lower case in Sybase, whereas this command would work fine in Oracle if table is created "my_table" or "MY_TABLE". So I would say Oracle data dictionary storage is case sensitive and Oracle command line reference is case insensitive.
I would agree that command-line processing in Oracle is generally forgiving (accepts/processes commands GENERALLY in either case). But, that is not the central issue when asserting that a database is "case sensitive" vs. "case insensitive".
In your previous post, you assert that '...this command would work fine in Oracle if table is created "my_table" or "MY_TABLE"...'. We need to be careful here, as the example below confirms:
create table "my_table" (x number);
insert into my_table values (1);
insert into my_table values (1)
*
ERROR at line 1:
ORA-00942: table or view does not exist
insert into "my_table" values (1);
select * from my_table;
select * from my_table
*
ERROR at line 1:
ORA-00942: table or view does not exist
select * from "my_table";
X
----------
1
Notice that Oracle command-line processing, by default, ASSUMES upper case. You can override that assumption with quotes. So, very literally, Oracle IS case sensitive, even in the data dictionary.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.