2016-08-09 2 views
2

これは私のテーブルproductinfoです。デコード関数を使用して型の列を変更すると、次のエラーが発生します。OracleのSQL:デコード機能がこのシナリオでは機能しない

MAKER  MODEL  TYPE 
---------- ---------- ----- 
ibm  pc112  pc 
ibm  lp113  pc 
zenith  pr114  pr 
wipro  pc122  pc 
wipro  lp123  lp 
wipro  pr124  pr 
ibm  pc134  pc 
ibm  lp114  lp 
ibm  pc132  pc 
ibm  lp133  lp 
ibm  pr134  pr 

11行が選択されています。

SQL> savepoint prodinfopre; 

セーブポイントが作成されました。

SQL> select maker,model,decode(type,'lp','laptop','pr','printer', 'pc','personal 
computer') as "TYPE" from productinfo; 

MAKER  MODEL  TYPE 
---------- ---------- ----------------- 
ibm  pc112 
ibm  lp113 
zenith  pr114 
wipro  pc122 
wipro  lp123 
wipro  pr124 
ibm  pc134 
ibm  lp114 
ibm  pc132 
ibm  lp133 
ibm  pr134 

11行が選択されています。

+3

おそらく、型名の末尾にスペースや見えない文字があります。 –

答えて

1

がproductinfoから削除スペース

select maker,model 
,decode(trim(type),'lp','laptop','pr','printer', 'pc','personal computer') as "TYPE" 

用トリム使用してみてください。

関連する問題