从 hive 表中查询数据时,哪种状态最好排除 NULL 和空格
Posted
技术标签:
【中文标题】从 hive 表中查询数据时,哪种状态最好排除 NULL 和空格【英文标题】:which state is better to exclude NULL as well as spaces while querying the data from hive table 【发布时间】:2019-02-04 10:11:23 【问题描述】:在从源表选择数据到目标表时,我试图找出下面哪一个更好,因此所有 NULLS 都被替换为 '' 并且字符串中没有空格。有什么区别还是都一样
TRIM(NVL(col1,''))
或者:
NVL(TRIM(col1),'')
【问题讨论】:
nvl(col1, '') 一个人就可以完成这项工作,除此之外不需要修剪功能 【参考方案1】:这两个表达式在功能上是等效的。
表达式TRIM(NVL(col1,''))
:
col1
包含空格时,NVL
将原样返回,而外部trim
删除空格
当col1
为NULL
时,NVL
返回''
,trim
返回不变
表达式NVL(TRIM(col1),'')
:
col1
包含空格时,TRIM
将其删除,而外部NVL
保持结果不变
当col1
是NULL
时,TRIM
返回NULL
,那NVL
变成''
【讨论】:
以上是关于从 hive 表中查询数据时,哪种状态最好排除 NULL 和空格的主要内容,如果未能解决你的问题,请参考以下文章