2017-03-16 131 views
0

這是我的代碼。IfNULL給出錯誤

SELECT CustNum, IFNULL(CustRep, 'None') AS CustRep 
FROM Customers; 

我得到的錯誤是

ORA-00904: 「IFNULL」:無效的標識符 00904. 00000 - 「%s的:無效的標識符」 *原因:
*行動: 錯誤在線:11列:8

我知道問題是與IFNULL,但我不確定爲什麼。

回答

0

我想你想要COALESCE()

SELECT CustNum, COALESCE(CustRep, 'None') AS CustRep 
FROM Customers; 
+0

當我使用COALESCE()它告訴我,它需要一個數。 CustRep是一個字符有沒有辦法解決這個問題? –

+0

'COALSCE()'在字符串上工作得很好。你確定'CustRep'是一個字符串嗎? –

1

我不知道IFNULL,但你可以在你的場景中使用NVL

SELECT CustNum, NVL(CustRep, 'None') AS CustRep 
FROM Customers; 
+0

我得到一個無效的數字錯誤。 CustRep是一個字符有沒有辦法解決這個問題? –

+0

您可以將其更改爲NVL(TO_CHAR(CustRep),'無') –