SQL的坑length(trim(null))
起因:测试的时候没有拿到对应的数据
select case when length(trim('XN00901001,XN0090'))>length(trim(null)) then 'XN00901001,XN0090' else null end as custids from dual;
这种会返回null,不会返回XN00901001,XN0090
需要改为
select nvl(length(trim(null)),0) from dual;
select case when nvl(length(trim('XN00901001,XN0090')),0) > nvl(length(trim(null)),0) then 'XN00901001,XN0090' else null end as custids from dual;

本文探讨了在SQL查询中使用length(trim(null))导致的返回NULL值而非预期结果的问题,通过实例说明如何正确地使用NVL函数来避免这一陷阱。
633

被折叠的 条评论
为什么被折叠?



