我需要做的是连接Oracle SQL Developer中的4个字段。这些领域是:
网络,Network2,Network3,Network4
然而,有时并不是所有的字段都被填充。这总是按顺序发生的;它永远不会只是一个空的Network3,它要么只填写第一个,要么只填写前2个,等等……
那么,我如何编写一个Select语句来忽略任何NULL字段?我需要最终结果如下:
Select Network, Network2, Network3, Network4 as Defect它应该将缺陷表现为类似于"ON1,ON2,ON3,ON4“的一个领域。但是,如果只填写前两个,我不希望它看起来像"ON1,ON2,,,“。
发布于 2016-11-29 15:00:26
使用NVL2(v, valueIfNotNull, valueIfNull)
SELECT
Network
|| nvl2(Network2, ', ' || Network2, '')
|| nvl2(Network3, ', ' || Network3, '')
|| nvl2(Network4, ', ' || Network4, '') AS Defect
FROM my_table发布于 2016-11-29 14:59:02
使用级联的||操作符和COALESCE()函数:
SELECT Network
|| COALESCE(' - ' || Network2, '')
|| COALESCE(' - ' || Network3, '')
|| COALESCE(' - ' || Network4, '')
as Defecthttps://stackoverflow.com/questions/40868967
复制相似问题