我试过跟踪询问,

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都给出了相同的结果。

bVt6T.jpg

那么,如何在Oracle中使用带有Unicode字符的列名呢?

如果我使用英文列名,数据类型为nvarchar2,并且插入了unicode字符值,那么为什么我没有在选择查询的结果中获得unicode字符值,如屏幕截图所示?如何解决这个问题?

更多推荐