如何捕获空值并显示注释

时间:2016-10-26 09:53:16

标签: sql oracle11g null nvl

我有bascic查询:

select col1, nvl(col1,to_number(null)) from table1 where colx = :new

更新

baiscly, 在上传过程中,我会检查:new是否在table1.colx内。 如果是,我想显示col1,如果不是null值(我不能为零)。

3 个答案:

答案 0 :(得分:1)

nvl(col1,to_number(null))将返回空白。您可以从此更改为:   NVL(col1,0)。

答案 1 :(得分:0)

当table1中不存在colx ='abcde'时,您的查询将引发no_data_found异常。它不会从您的查询中返回结果。

您可以捕获此异常并对其采取行动。

答案 2 :(得分:0)

在pl / sql中,您需要处理查询结果返回0行的场景,这是异常处理:

BEGIN
 ...
 select col1 into my_variable from table1 where colx = :new;
 ...
EXCEPTION WHEN NO_DATA_FOUND then
 <whatever-code-when-there-is-no-data>
 ...
END;