在从配置单元表查询数据时,哪种状态最好排除null和空格

ewm0tg9j  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(191)

在从源表到目标表中选择数据时,我正在尝试找出下面哪一个更好,以便所有空值都替换为“”,并且字符串中没有空格。有什么区别吗?还是两者都一样

TRIM(NVL(col1,''))

或:

NVL(TRIM(col1),'')
l3zydbqr

l3zydbqr1#

这两个表达式在功能上是等价的。
表达式 TRIM(NVL(col1,'')) :
什么时候 col1 包含空格, NVL 返回未更改的值和 trim 删除空格
什么时候 col1NULL , NVL 退货 '' ,其中 trim 回报不变
表达式 NVL(TRIM(col1),'') :
什么时候 col1 包含空格, TRIM 移除它们和外部 NVL 保持结果不变
什么时候 col1NULL , TRIM 退货 NULL ,那个 NVL 变成 ''

相关问题