从 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 删除空格 当col1NULL时,NVL返回''trim返回不变

表达式NVL(TRIM(col1),'')

col1 包含空格时,TRIM 将其删除,而外部NVL 保持结果不变 当col1NULL时,TRIM返回NULL,那NVL变成''

【讨论】:

以上是关于从 hive 表中查询数据时,哪种状态最好排除 NULL 和空格的主要内容,如果未能解决你的问题,请参考以下文章

无法找到创建的 Hive 表,也无法从表中检索数据

hive从查询中获取数据插入到表或动态分区

hive 数据导入

25分钟掌握Hive基本操作

013-HQL中级3-Hive四种数据导入方式介绍

hive常用功能:Hive数据导入导出方式