【UDF存在bug】在if语句里,不管哪个分支,udf都会执行到

Viewed 45

select if(length(new_owner)=0, null, convert(new_owner))
from dwd_transfers
where length(new_owner)=0;
对于UDF函数convert,如果参数长度为0会报错。现在通过if语句,理论上应该返回null,但是仍会走到concert函数报错!!!

2 Answers

if(cond,a,b)
doris是列式的,所以执行会将a,b都执行一下,然后再根据cond 选择结果

Doris具体哪个版本呢,方便给一个完整的可执行的复现案例吗?