首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle:如果字段为空,则显示特殊文本

问Oracle:如果字段为空,则显示特殊文本
EN

Stack Overflow用户
提问于 2011-04-01 16:45:40
回答 3查看 5.6K关注 0票数 5

我想写一个select,其中我将字段的值显示为正常,但字段为空时除外。如果它是null,我想显示一个特殊的文本,例如"Field is null“。我该怎么做才是最好的呢?

代码语言:javascript
复制
// Oracle newbie
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-01 16:52:03

为此,我喜欢使用函数COALESCE。它从给定的参数中返回第一个非空值(因此您可以一次测试多个字段)。

代码语言:javascript
复制
SELECT COALESCE(NULL, 'Special text') FROM DUAL

所以这也是可行的:

代码语言:javascript
复制
SELECT COALESCE(
   First_Nullable_Field, 
   Second_Nullable_Field, 
   Third_Nullable_Field, 
   'All fields are NULL'
) FROM YourTable
票数 11
EN

Stack Overflow用户

发布于 2011-04-01 16:47:58

只需将NVL PL/SQL函数插入到查询中

从MYTABLE中选择NVL( SOMENULLABLEFIELD,'Field Is Null') SOMENULLABLEFIELD;

更多细节在这里:http://www.techonthenet.com/oracle/functions/nvl.php

票数 4
EN

Stack Overflow用户

发布于 2011-04-01 16:50:18

你也可以使用DECODE:

代码语言:javascript
复制
select value, decode(value, NULL, 'SPECIAL', value) from 
  (select NULL value from dual
   union all
   select 2 value from dual
  )
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5511028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档