ifnull好像触发bug了

【 TiDB 版本】
v5.4.1

【遇到的问题:问题现象及影响】


这个查询中ifnull是可以的。


这个查询中ifnull这好像不对,是触发bug了吗?

附件是使用mysqldump出来的两张表
syk_test.sql (27.1 KB)

SQL也发下,我在我的环境上试试

select
ifnull(l2, ‘-1’) yess
from
(select
measure_status ,
lag (measure_status ,2) over (partition by patient_id order by create_time ) l2
from no_bug
) a

SELECT
ifnull( l1, ‘-1’ ) noo
FROM
( SELECT measure_status,
lag ( measure_status, 2 ) over ( PARTITION BY patient_id ORDER BY measure_time ) l1
FROM yes_bug ) b

为什么没有捕获到null呢?使用case when 或者 if(xx is null,‘-1’,l2) ,它们有区别吗?
关注了


5.7.25-TiDB-v6.4.0
我这个版本测试可以的。

我在v5.4.3中测试也不可以。

在测试中发现,在V6.3.0版本中可以了。

还请官方看看是否是bug

也有可能在某些低版本中有这个 BUG 但是在新版修复好了

curl -G “10.194.xx.xx:10080/debug/pprof/profile?seconds=30” > /tmp/cpu.profile
通过上面命令导出了profile文件,见附件
cpu.profile (22.7 KB)

我觉得可以提个 issue。 这是个非预期的行为。 :joy:

1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。