Brarord
Brarord

Reputation: 651

How to change charset of table/column - Oracle

I have the following table: enter image description here

Can i change charset of column SCHEMA_ERD to UTF-8?
If it isn't possible maybe i can change charset only for that table?

Can someone give me example how to do it?
I want to keep emojis inside that SCHEMA_ERD that is why i need change charset to UTF-8.

Upvotes: 1

Views: 5356

Answers (2)

Marmite Bomber
Marmite Bomber

Reputation: 21075

Issue this query to see your available character sets in your database

select * from  nls_database_parameters
where parameter in ( 'NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');

PARAMETER                 VALUE     
------------------------- ----------
NLS_NCHAR_CHARACTERSET    AL16UTF16 
NLS_CHARACTERSET          WE8ISO8859P1 

The character set in NLS_CHARACTERSET is what is used for normal VARCHAR2.

The NCHAR character set is used for NVARCHAR2 or NCLOB.

You have no other chance wihtout support of your DBA

But note, that the NCHAR character set is typically set to support UTF8 or UTF16 so it should work for you.

Upvotes: 2

Littlefoot
Littlefoot

Reputation: 142753

As far as I can tell, in Oracle, character set is database's characteristic. It means that you should change character set for the whole database (i.e. you can't do that for only one table (or column, or schema).

However, you could use NVARCHAR2 or NCLOB so I suggest you to try it. Because, changing character set is not that simple task.

Upvotes: 6

Related Questions