Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Wanet Telecoms Ltd on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How do I tell what character set Oracle is using 1

Status
Not open for further replies.

Tison

Programmer
May 12, 1999
216
CH
How do I find the following 2 answers in Oracle ;
1. Is the server case sensitive ?
2. Is the server using UFT-8 ?

 
Tison,

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. &quot;select * from nls_database_parameters;&quot;

Among the results will be:
NLS_CHARACTERSET <character_set>

Cheers,

Dave
 
SantaMufasa,

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 &quot;select * from MY_TABLE&quot; 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 &quot;my_table&quot; or &quot;MY_TABLE&quot;. So I would say Oracle data dictionary storage is case sensitive and Oracle command line reference is case insensitive.
 
DBALearner,

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 &quot;case sensitive&quot; vs. &quot;case insensitive&quot;.

In your previous post, you assert that '...this command would work fine in Oracle if table is created &quot;my_table&quot; or &quot;MY_TABLE&quot;...'. We need to be careful here, as the example below confirms:

create table &quot;my_table&quot; (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 &quot;my_table&quot; values (1);
select * from my_table;
select * from my_table
*
ERROR at line 1:
ORA-00942: table or view does not exist

select * from &quot;my_table&quot;;

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.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top