软件开发Db2

db2进行多列拼接为一行输出时,如果有一列值为null则整条查询结果为null?

客户要求数据导出格式为|^|,想采用db2中的export导出数据方式,其中coldel分隔符无法用|^|作为分隔符,只能在查询数据库时进行字段拼接,拼接格式为:col1||'|^|'||col2||'|^|'||col3.....,如果其中一列的值为null则拼接的整条记录也都会为null,问这种列拼接中有一个列为null则拼接结果都为null怎么解决?望举例说明。

参与11

3同行回答

DB-TrendSetterDB-TrendSetter联盟成员数据库架构师公司
case when应该就是最好的了显示全部

case when应该就是最好的了

收起
电信运营商 · 2018-04-16
浏览3177
DB2l 邀答
zzx928zzx928开发博安
大哥 想问一下这个问题有解决吗显示全部

大哥 想问一下这个问题有解决吗

收起
硬件生产 · 2022-12-02
浏览854
DB2lDB2l软件开发工程师互联网
select col1,col2 from A数据结果如下:3.jpgselect col1||'|^|'||col2 from A拼接列之后的结果:2.jpgselect case when col1 is null then '' else col1 end||'|^|'||col2 from A然后我把可能为空的列进行case when处理结果:1.jpg这样问题是解决了,如果有20多列的表,有10列...显示全部
select col1,col2 from A

数据结果如下:
3.jpg

3.jpg

select col1||'|^|'||col2 from A

拼接列之后的结果:
2.jpg

2.jpg

select case when col1 is null then '' else col1 end||'|^|'||col2 from A

然后我把可能为空的列进行case when处理结果:
1.jpg

1.jpg

这样问题是解决了,如果有20多列的表,有10列的值可能包含为空,则要case when 处理10个字段。有没有更好的解决办法呢?

收起
软件开发 · 2018-04-16
浏览3590

提问者

DB2l
软件开发工程师互联网
擅长领域: 数据库关系型数据库存储

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-04-13
  • 关注会员:3 人
  • 问题浏览:4358
  • 最近回答:2022-12-02
  • X社区推广