如何在 Oracle 中使用列名和带有 Unicode 字符的条目创建 table?
How to create table with column names and Entries with Unicode Character in Oracle?
我试过以下查询,
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 查询后,我从 Table 中得到值作为倒问号,如所附屏幕截图所示。 Oracle 10g 和 Oracle 12c,都给出相同的结果。
- 那么如何在 Oracle 中使用带有 unicode 字符的列名?
- 如果我使用数据类型为 NVARCHAR2 的英文列名并插入了 unicode 字符值,那么为什么我在 SELECT 查询结果中没有获得 unicode 字符值,如屏幕截图所示?如何解决这个问题?
在 Oracle 中这应该是可能的:
create table "विद्यार्थी" ("आयडी" integer, "नाव" varchar(50), "वर्ग" varchar(10));
不过,我会推荐 "standard" 个字符,然后使用梵文视图:
create table MY_TABLE(ID integer, NAME varchar(50), CLASS varchar(10));
CREATE OR REPLACE VIEW "विद्यार्थी" AS
SELECT ID AS "आयडी", NAME AS "नाव", CLASS AS "वर्ग";
注意,您还可以使用 insert into "विद्यार्थी" values (1,'अक्षय','पहिली');
将数据插入视图
您还有其他 SQL 客户吗? TOAD 或 SQL 开发人员而不是 Internet Explorer 中的 APEX?那里的字符编码可能是一个挑战。
我试过以下查询,
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 查询后,我从 Table 中得到值作为倒问号,如所附屏幕截图所示。 Oracle 10g 和 Oracle 12c,都给出相同的结果。
- 那么如何在 Oracle 中使用带有 unicode 字符的列名?
- 如果我使用数据类型为 NVARCHAR2 的英文列名并插入了 unicode 字符值,那么为什么我在 SELECT 查询结果中没有获得 unicode 字符值,如屏幕截图所示?如何解决这个问题?
在 Oracle 中这应该是可能的:
create table "विद्यार्थी" ("आयडी" integer, "नाव" varchar(50), "वर्ग" varchar(10));
不过,我会推荐 "standard" 个字符,然后使用梵文视图:
create table MY_TABLE(ID integer, NAME varchar(50), CLASS varchar(10));
CREATE OR REPLACE VIEW "विद्यार्थी" AS
SELECT ID AS "आयडी", NAME AS "नाव", CLASS AS "वर्ग";
注意,您还可以使用 insert into "विद्यार्थी" values (1,'अक्षय','पहिली');
您还有其他 SQL 客户吗? TOAD 或 SQL 开发人员而不是 Internet Explorer 中的 APEX?那里的字符编码可能是一个挑战。