首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle中的有条件连接字段

问Oracle中的有条件连接字段
EN

Stack Overflow用户
提问于 2016-11-29 14:56:04
回答 2查看 2.4K关注 0票数 0

我需要做的是连接Oracle SQL Developer中的4个字段。这些领域是:

网络,Network2,Network3,Network4

然而,有时并不是所有的字段都被填充。这总是按顺序发生的;它永远不会只是一个空的Network3,它要么只填写第一个,要么只填写前2个,等等……

那么,我如何编写一个Select语句来忽略任何NULL字段?我需要最终结果如下:

代码语言:javascript
复制
Select Network, Network2, Network3, Network4 as Defect

它应该将缺陷表现为类似于"ON1,ON2,ON3,ON4“的一个领域。但是,如果只填写前两个,我不希望它看起来像"ON1,ON2,,,“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-29 15:00:26

使用NVL2(v, valueIfNotNull, valueIfNull)

代码语言:javascript
复制
SELECT
    Network
 || nvl2(Network2, ', ' || Network2, '')
 || nvl2(Network3, ', ' || Network3, '')
 || nvl2(Network4, ', ' || Network4, '') AS Defect
FROM my_table
票数 4
EN

Stack Overflow用户

发布于 2016-11-29 14:59:02

使用级联的||操作符和COALESCE()函数:

代码语言:javascript
复制
SELECT  Network
        || COALESCE(' - ' || Network2, '')
        || COALESCE(' - ' || Network3, '')
        || COALESCE(' - ' || Network4, '')
as Defect
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40868967

复制
相关文章

相似问题

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