我试过跟踪询问,
create table विदà¥à¤¯à¤¾à¤°à¥à¤¥à¥(à¤à¤¯à¤¡à¥ int, नाव varchar(50), वरà¥à¤ varchar(10));
insert into विदà¥à¤¯à¤¾à¤°à¥à¤¥à¥ values(1,'à¤à¤à¥à¤·à¤¯','पहिलà¥');
insert into विदà¥à¤¯à¤¾à¤°à¥à¤¥à¥ values(2,'नारायण','दà¥à¤¸à¤°à¥');
这在MySQL中很有效,但在Oracle中不起作用。
Oracle给出的错误为
Invalid Character
然后,我尝试使用以下英文列名和nvarchar2数据类型。
create table student(id int, name nvarchar2(50), class nvarchar2(50));
insert into student values(1,'à¤à¤à¥à¤·à¤¯','पहिलà¥');
insert into student values(2,'नारायण','दà¥à¤¸à¤°à¥');
没有错误,但当我开火的时候
select * from student;
在启动select查询之后,我从表中得到了值作为倒置的问号,如所附的屏幕截图所示。Oracle10g和Oracle12c都给出了相同的结果。
那么,如何在Oracle中使用带有Unicode字符的列名呢?
如果我使用英文列名,数据类型为nvarchar2,并且插入了unicode字符值,那么为什么我没有在选择查询的结果中获得unicode字符值,如屏幕截图所示?如何解决这个问题?