-- DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
drop function if exists DATEDIFF(datetime year to second, datetime year to second);
create dba function DATEDIFF(d1 datetime year to second, d2 datetime year to second)
returns int
with (not variant)
return abs(substr(d1 - d2,1,10));
end function;
或者
-- datediff(interval,dt1,dt2[,isabs]);
-- interval取值为:year,quarter,month,week,day,hour,minute,second
-- 如果dt1 > dt2且isabs为'f'时, 将显示负值
create function datediff(itv varchar(10), dt1 datetime year to fraction(5), dt2 datetime year to fraction(5), isabs boolean default 't')
returning bigint with (not variant);
define v_value bigint;
define v_1lt2 boolean;
define v_interval varchar(30);
define v_itv varchar(10);
on exception
return null;
end exception;
let v_value = 0;
let v_itv = lower(itv);
let v_1lt