Oracle:如果field为null,则显示特殊文本

时间:2011-04-01 08:45:40

标签: oracle select null

我想写一个select,我将该字段的值显示为正常,除非该字段为null。如果它为null我想显示一个特殊的文本,例如“Field is null”。我最好怎么做?

// Oracle newbie

3 个答案:

答案 0 :(得分:11)

我喜欢将函数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

答案 1 :(得分:4)

只需将NVL PL / SQL功能插入您的查询

即可

SELECT NVL(SOMENULLABLEFIELD,' Field is Null')SOMENULLABLEFIELD 来自MYTABLE;

此处提供更多详细信息:http://www.techonthenet.com/oracle/functions/nvl.php

答案 2 :(得分:3)

你也可以使用DECODE:

select value, decode(value, NULL, 'SPECIAL', value) from 
  (select NULL value from dual
   union all
   select 2 value from dual
  )