2017-01-10 53 views
0

我在Oracle數據庫的employee表中插入了一行。現在我試圖從該員工表中檢索數據;但它給了我不同於我所輸入的價值。oracle列中的隱形雙引號

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()方法刪除這些雙引號;但我仍然需要知道結果集中的雙引號是如何存在的。

+0

您正在使用哪個數據庫?你已經標記了其中三個。我的猜測是,你只是從控制檯看一些輸出格式。也許引號是爲了提醒你,它是varchar數據。 –

+0

Oracle數據庫是 –

+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