oracle列名可以用中文吗,如何在Oracle中使用列名和Unicode字符创建表?

本文探讨了在Oracle数据库中使用Unicode字符的问题。作者首先尝试使用非英文列名和不同的数据类型创建表并插入数据,在MySQL中成功运行,但在Oracle中遇到InvalidCharacter错误。随后,通过更改列名并使用nvarchar2数据类型,虽然避免了错误,但在查询结果中Unicode字符显示为倒置问号。
摘要由CSDN通过智能技术生成

我试过跟踪询问,

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字符值,如屏幕截图所示?如何解决这个问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值