2017-01-10 8 views
0

oracleデータベースのemployee表に1行挿入しました。今私はその従業員テーブルからデータを取得しようとしています。しかし、それは私が入力したものとは異なる価値をもたらします。問い合わせの上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'; 

UniqueCode列のために私"TEST05897"を返します。私はそれがTEST05897であることを望みます。自分のデータに二重引用符がどのように得られるのだろうか。これらの二重引用符を削除するには、REPLACE()メソッドを適用できます。それでも私はその二重引用符がresultsetにどのようにあるか知る必要があります。

+0

どのデータベースを使用していますか?あなたはそれらの3つをタグ付けしました。私の推測では、コンソールから出力フォーマットを見ているだけです。おそらく引用符は、それが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 
関連する問題