Reputation: 312
I've tried following queries,
create table विद्यार्थी(आयडी int, नाव varchar(50), वर्ग varchar(10));
insert into विद्यार्थी values(1,'अक्षय','पहिली');
insert into विद्यार्थी values(2,'नारायण','दुसरी');
This works well in MySQL but it doesn't work in Oracle.
Oracle Gives Error as Invalid Character
Then I tried to use column names in English as follows with datatype NVARCHAR2.
create table student(id int, name nvarchar2(50), class nvarchar2(50));
insert into student values(1,'अक्षय','पहिली');
insert into student values(2,'नारायण','दुसरी');
No Error, but when I fire
select * from student;
After firing SELECT query, I got values from Table as inverted question marks as shown in screenshot attached. Oracle 10g and Oracle 12c, both give same result.
Upvotes: 1
Views: 2647
Reputation: 59557
In Oracle this should be possible:
create table "विद्यार्थी" ("आयडी" integer, "नाव" varchar(50), "वर्ग" varchar(10));
However, I would recommend "standard" characters and then use a view with devanagari:
create table MY_TABLE(ID integer, NAME varchar(50), CLASS varchar(10));
CREATE OR REPLACE VIEW "विद्यार्थी" AS
SELECT ID AS "आयडी", NAME AS "नाव", CLASS AS "वर्ग";
NB, you could also insert data into the view with insert into "विद्यार्थी" values (1,'अक्षय','पहिली');
Do you have any other SQL client, e.g. TOAD or SQL Developer rather than APEX in internet explorer? Character encoding could be a challenge there.
Upvotes: 2