我想写一个select,其中我将字段的值显示为正常,但字段为空时除外。如果它是null,我想显示一个特殊的文本,例如"Field is null“。我该怎么做才是最好的呢?
// Oracle newbie发布于 2011-04-01 16:52:03
为此,我喜欢使用函数COALESCE。它从给定的参数中返回第一个非空值(因此您可以一次测试多个字段)。
SELECT COALESCE(NULL, 'Special text') FROM DUAL所以这也是可行的:
SELECT COALESCE(
First_Nullable_Field,
Second_Nullable_Field,
Third_Nullable_Field,
'All fields are NULL'
) FROM YourTable发布于 2011-04-01 16:47:58
只需将NVL PL/SQL函数插入到查询中
从MYTABLE中选择NVL( SOMENULLABLEFIELD,'Field Is Null') SOMENULLABLEFIELD;
更多细节在这里:http://www.techonthenet.com/oracle/functions/nvl.php
发布于 2011-04-01 16:50:18
你也可以使用DECODE:
select value, decode(value, NULL, 'SPECIAL', value) from
(select NULL value from dual
union all
select 2 value from dual
)https://stackoverflow.com/questions/5511028
复制相似问题