如果行为空,从 oracle db 查询返回文本

mtn*_*nwk 2 sql oracle oracle9i

现在我有一个查询给我一个空格,这很好,但我真正需要的是如果它为空则返回“Empty”的东西。我已经尝试了几个选项,现在这是我拥有的最好的查询,但我不确定如何让它显示“EMPTY”(如果为空)。

SELECT paramOne, paramTwo
FROM tableName
WHERE search_param = 'x' 

UNION ALL

SELECT NULL, NULL
FROM dual
WHERE NOT EXISTS (
SELECT paramOne, paramTwo
FROM tableName
WHERE search_param = 'x'
);
Run Code Online (Sandbox Code Playgroud)

paramOne 是数字 paramTwo 是 varchar

我正在寻找的结果基本上是这样的:

如果该行有数据,它应该返回 123, Name

如果该行没有数据,则应为 000,“空”

A.B*_*ade 5

我怀疑 paramTwo (varchar2 之一)不是真的为空,请尝试:

SELECT nvl(paramOne, 0), nvl(trim(paramTwo), 'EMPTY')
FROM tableName
WHERE search_param = 'x'
Run Code Online (Sandbox Code Playgroud)