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

TRIM(NVL(col1,''))


要么 :

NVL(TRIM(col1),'')

最佳答案

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

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


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


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


col1包含空格时,TRIM将其删除,outr NVL将结果保持不变
col1NULL时,TRIM返回NULL,该NVL变成''

10-08 17:51