我正在尝试从源表到目标表选择数据时,找出以下哪个更好,以便所有NULL都替换为'',并且字符串中没有空格。有什么区别还是两者都一样
TRIM(NVL(col1,''))
要么 :
NVL(TRIM(col1),'')
最佳答案
这两个表达式在功能上是等效的。
表达式TRIM(NVL(col1,''))
:
当col1
包含空格时,NVL
保持不变,而外部trim
删除空格
当col1
为NULL
时,NVL
返回''
,而trim
返回不变
表达式NVL(TRIM(col1),'')
:
当col1
包含空格时,TRIM
将其删除,outr NVL
将结果保持不变
当col1
是NULL
时,TRIM
返回NULL
,该NVL
变成''