oracle列中的隐形双引号

时间:2017-01-10 04:27:49

标签: sql oracle

我在oracle数据库的employee表中插入了一行。现在我正在尝试从该employee表中检索数据;但它给了我不同于我输入的价值。

employee table (ID,Name,UniqueCode,Department)
insert into employee values('emp1','John','TEST05897','PAYROLL');

select ID,Name,UniqueCode,Department from employee where ID='emp1';

以上查询返回"TEST05897"列的UniqueCode;但我希望它是TEST05897。我想知道我的数据中是如何得到双引号的。我可以应用REPLACE()方法删除这些双引号;但我仍然需要知道结果集中的那些双引号是什么。

1 个答案:

答案 0 :(得分:3)

我猜您使用的是sql devloper,除非您向我们提供所有详细信息,否则您可能修改了我们不知道的内容。此外,请尝试在sqlplus(命令提示符)中运行命令,看看是否正在进行。我已经在sqlplus中执行了所有操作并且工作得很好。请在下面找到详细信息。

SQL> create table employee(id varchar2(10),name varchar2(20),uniquecode  varchar2(20),department varchar2(20))
  2  /

    Table created.

SQL> desc employee
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 VARCHAR2(10)
 NAME                                               VARCHAR2(20)
 UNIQUECODE                                         VARCHAR2(20)
 DEPARTMENT                                         VARCHAR2(20)

SQL> insert into employee values('emp1','John','TEST05897','PAYROLL');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from employee;

ID         NAME                 UNIQUECODE           DEPARTMENT
---------- -------------------- -------------------- --------------------
emp1       John                 TEST05897            PAYROLL

SQL> update employee set Department='ACCOUNT' where UniqueCode='TEST05897';

1 row updated.

SQL> select * from employee;

ID         NAME                 UNIQUECODE           DEPARTMENT
---------- -------------------- -------------------- --------------------
emp1       John                 TEST05897            ACCOUNT