我的NVL功能出现问题

时间:2015-02-13 04:36:37

标签: sqlplus nvl

所以我按照我在现场演讲中逐字逐句给出的指示,并在我的教科书中对此进行了研究,并且我已经完成了所有事情(我认为),但我一直得到一个错误我看了看看它意味着什么,它根本没有帮助我,我一直在努力工作一整天,所以我要联系你们,看看你能否在我的代码中看到我的错误

这是我想要完成的问题:

使用BOOK_CUSTOMER表和NVL函数,创建一个查询,如果客户未被其他客户推荐,该查询将返回包含客户编号,名字,姓氏和字符“NOT REFERRED”的列表。为派生列提供REFERRED BY的别名。不要列出任何其他客户推荐的客户。

我的代码=

SELECT CutomerID, FirstName, LastName,
NVL(TO_CHAR(Referred), 'Not Referred'))
FROM Book_Customer;

我也意识到我还没有完成整个问题。我只是想让我的NVL首先工作,然后进入Alias和问题的最后一部分,因为我不知道如何做其中任何一个,任何提示都将非常感谢

2 个答案:

答案 0 :(得分:0)

您的SQL文本中有一个额外的(无法匹配的)结束语,这会引发语法错误。

NVL(TO_CHAR(Referred), 'Not Referred'))
                                      ^

最后一个人没有匹配的开场白。


要为SELECT列表中的表达式指定别名,请使用带有关键字AS和别名的表达式。

 SELECT t.foo AS bar 

结果集将包含一个名为bar的列。

SELECT b.CustomerID
     , b.FirstName
     , b.LastName
     , NVL(TO_CHAR(b.Referred),'Not Referred') AS ReferredBy
  FROM Book_Customer b
 WHERE b.Referred IS NULL

答案 1 :(得分:0)

我终于明白了!正确的代码是:

SELECT CustomerID, FirstName, LastName,
NVL(TO_CHAR(Referred), 'Not Referred') AS "Referred By"
FROM Book_Customer
WHERE Referred IS NULL;

感谢大家所有帮助我解决这个问题的有用评论。