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

发布于 2024-10-29 04:06:47 字数 113 浏览 1 评论 0原文

我想编写一个选择,在其中正常显示字段的值,除非该字段为空。如果它为空,我想显示一个特殊的文本,例如“字段为空”。我最好怎么做?

// Oracle newbie

I would like to write a select where I show the value of the field as normal except when the field is null. If it is null I'd like to show a special text, for example "Field is null". How would I best do this?

// Oracle newbie

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

寄居人 2024-11-05 04:06:47

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

I like to use function COALESCE for this purpose. It returns the first non-null value from given arguments (so you can test more than one field at a time).

SELECT COALESCE(NULL, 'Special text') FROM DUAL

So this would also work:

SELECT COALESCE(
   First_Nullable_Field, 
   Second_Nullable_Field, 
   Third_Nullable_Field, 
   'All fields are NULL'
) FROM YourTable
终陌 2024-11-05 04:06:47

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

SELECT NVL(SOMENULLABLEFIELD,'Field Is Null') SOMENULLABLEFIELD
来自我的表;

更多详细信息请参见:http://www.techonthenet.com/oracle/functions/nvl.php

Just insert the NVL PL/SQL function into your query

SELECT NVL(SOMENULLABLEFIELD,'Field Is Null') SOMENULLABLEFIELD
FROM MYTABLE;

More detail here : http://www.techonthenet.com/oracle/functions/nvl.php

谢绝鈎搭 2024-11-05 04:06:47

您还可以使用解码:

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

You could also use DECODE:

select value, decode(value, NULL, 'SPECIAL', value) from 
  (select NULL value from dual
   union all
   select 2 value from dual
  )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文