这是我的代码。IfNULL给出错误
SELECT CustNum, IFNULL(CustRep, 'None') AS CustRep
FROM Customers;
我得到的错误是
ORA-00904: “IFNULL”:无效的标识符 00904. 00000 - “%s的:无效的标识符” *原因:
*行动: 错误在线:11列:8
我知道问题是与IFNULL,但我不确定为什么。
这是我的代码。IfNULL给出错误
SELECT CustNum, IFNULL(CustRep, 'None') AS CustRep
FROM Customers;
我得到的错误是
ORA-00904: “IFNULL”:无效的标识符 00904. 00000 - “%s的:无效的标识符” *原因:
*行动: 错误在线:11列:8
我知道问题是与IFNULL,但我不确定为什么。
我想你想要COALESCE()
:
SELECT CustNum, COALESCE(CustRep, 'None') AS CustRep
FROM Customers;
我不知道IFNULL
,但你可以在你的场景中使用NVL
:
SELECT CustNum, NVL(CustRep, 'None') AS CustRep
FROM Customers;
我得到一个无效的数字错误。 CustRep是一个字符有没有办法解决这个问题? –
您可以将其更改为NVL(TO_CHAR(CustRep),'无') –
当我使用COALESCE()它告诉我,它需要一个数。 CustRep是一个字符有没有办法解决这个问题? –
'COALSCE()'在字符串上工作得很好。你确定'CustRep'是一个字符串吗? –