在从源表到目标表中选择数据时,我正在尝试找出下面哪一个更好,以便所有空值都替换为“”,并且字符串中没有空格。有什么区别吗?还是两者都一样
TRIM(NVL(col1,''))
或:
NVL(TRIM(col1),'')
l3zydbqr1#
这两个表达式在功能上是等价的。表达式 TRIM(NVL(col1,'')) :什么时候 col1 包含空格, NVL 返回未更改的值和 trim 删除空格什么时候 col1 是 NULL , NVL 退货 '' ,其中 trim 回报不变表达式 NVL(TRIM(col1),'') :什么时候 col1 包含空格, TRIM 移除它们和外部 NVL 保持结果不变什么时候 col1 是 NULL , TRIM 退货 NULL ,那个 NVL 变成 ''
col1
NVL
trim
NULL
''
TRIM
1条答案
按热度按时间l3zydbqr1#
这两个表达式在功能上是等价的。
表达式
TRIM(NVL(col1,''))
:什么时候
col1
包含空格,NVL
返回未更改的值和trim
删除空格什么时候
col1
是NULL
,NVL
退货''
,其中trim
回报不变表达式
NVL(TRIM(col1),'')
:什么时候
col1
包含空格,TRIM
移除它们和外部NVL
保持结果不变什么时候
col1
是NULL
,TRIM
退货NULL
,那个NVL
变成''