首页 > 其他 > 详细

Hive concat函数连接后结果为null

时间:2019-11-12 14:11:40      阅读:162      评论:0      收藏:0      [点我收藏+]

Hive concat函数连接后结果为null

concat函数是用来连接字符串的

使用示例:

select concat(‘Hello‘,‘World‘,‘Java‘);

运行结果:

技术分享图片

 

最近我们在做需求的时候使用concat去拼接地址信息,脚本如下:(ta是我存放地址信息的表别名,地址分为三段存储)

concat(trim(ta.houseaddress),‘ ‘,trim((ta.houseaddress2),‘ ‘,trim(ta.houseaddress3))

一般来说,我们会觉得这个没问题吧,意思就是去掉每部分地址的前后空格,然后每段之间使用空格拼接。

但是我们在测试的时候就发现有问题耶,有很多地址信息不为空的数据都变为空了....

 

开始找原因:

发现是concat函数在连接null值的时候会将整个结果都会置为null

例如: 

select concat(‘Hello‘,‘World‘,‘Java‘,null);

执行结果:

技术分享图片

 

修正之后的地址连接信息脚本:

concat(trim(nvl(ta.houseaddress,‘‘)),‘ ‘,trim(nvl(ta.houseaddress2,‘‘)),‘ ‘,trim(nvl(ta.houseaddress3,‘‘)))

Hive concat函数连接后结果为null

原文:https://www.cnblogs.com/DFX339/p/11841126.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!