日期时间计算结果不一致

select cast('2024-05-06' as date) - cast('2024-05-01' as date);
-- 5

select cast('2024-05-07' as date) - current_date;
-- 1

select current_date - interval 1 month + interval 1 day;
-- 2024-04-07 00:00:00

select (current_date - interval 1 month + interval 1 day) - current_date;
-- 20240386759494

select datediff(current_date - interval 1 month + interval 1 day, current_date);
-- -29

日期与日期相减的结果是数字
日期与interval相减的结果是日期
datediff的结果是数字
为什么日期与interval相减的结果再和日期相减的结果就是日期数字了呢(20240386759494)