Oracle nvl 即使在使用后也无法处理空字符串不是空的



如果选择查询返回null,我正在尝试返回空字符串或虚拟字符串。我尝试在NVL(colum,'dummy')中使用虚拟值,但我仍然no data found错误。 以下是我尝试过的:

1.

SELECT de.destination INTO l_sub_ent
FROM dest de
where de.destination='somevalue' AND de.destination IS NOT NULL; 

阿拉伯数字。

SELECT COALSECE(de.destination, 'dummy') INTO l_sub_ent
FROM dest de
where de.destination ='some value'; 

3.

SELECT NVL(de.desc_en, 'dummy') INTO l_sub_ent
FROM dest de
where de.destination ='some value'; 

问题不在于您的de.destinationNULL。没有条件de.destination='somevalue'的记录。像这样处理它。

SELECT Count(1)
INTO   v_count
FROM   dest de
WHERE  de.destination='somevalue';
IF v_count > 0 THEN
SELECT NVL(de.destination,'dummy')
INTO   l_sub_ent
FROM   dest de
WHERE  de.destination='somevalue';
END IF; 

我能够使用以下方法解决:

SELECT NVL(MIN(val), 'dummy') INTO l_sub_ent
FROM dest de
where de.destination ='some value'; 

相关内容

  • 没有找到相关文章

最新更新