在从Hive表查询数据时哪个状态最好排除NULL和空格

时间:2019-02-04 10:11:24

标签: mysql hive apache-spark-sql

在尝试从源表到目标表选择数据时,我试图找出以下哪个更好,因此所有NULL都将替换为”,并且字符串中没有空格。有什么不同还是两者都相同

TRIM(NVL(col1,''))

OR:

NVL(TRIM(col1),'')

1 个答案:

答案 0 :(得分:0)

这两个表达式在功能上是等效的。

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

  • col1包含空格时,NVL保持不变,而外部trim则删除空格
  • col1NULL时,NVL返回'',其中trim返回不变

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

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