2014-01-13 30 views
0

我讀過一篇關於從oracle列重命名數據的文章。我遵循發佈的查詢之一,但是當我嘗試自己的時候。我只是得到NULL值。請幫助我,我的DECODE QUERY中出現了什麼問題。使用oracle解碼

狀態列的原始數據是「無應答」和「答案」

感謝。

這裏是我的查詢

select call_time, decode(status, 'no answer', 'hey', 'answer', 'yes'), channel 
FROM APP_ACCOUNT.CC_CALL; 

和這個輸出是:

call_time decode(status, 'no answer', 'hey', 'answer', 'yes')  CHANNEL 
10/22/2013 NULL              DAHDI/i1/ 
11/05/2013 NULL              DAHDI/i2/ 

相反的:

call_time decode(status, 'no answer', 'hey', 'answer', 'yes')  CHANNEL 
10/22/2013 yes             DAHDI/i1/ 
11/05/2013 hey             DAHDI/i2/ 
+0

大概'status'不取的價值觀''沒有answer''或''answer''。 –

+0

狀態欄的原始數據是'沒有答案'和'答案' – user3172075

+0

我已經得到了答案:) – user3172075

回答

1

當使用解碼,你應該永遠使用默認值供應 解碼(來自db的值,匹配1,替代值1,匹配2,替代值,.. .matching N,替代值n,缺省值)

,這樣你就不必返回NULL如果所有比賽都未能