人大金倉添加timestampdiff函數

create or replace function timestampdiff(para1 text,para2 timestamp,para3 timestamp) return bigint
as
declare
diff interval day to second;
diffs bigint;
diffm bigint;
diffh bigint;
diffd bigint;
nyy bigint;
ny bigint;
nm bigint;
begin
diff:=para3-para2;
diffs:=extract(second from diff);
diffm:=extract(minute from diff);
diffh:=extract(hour from diff);
diffd:=extract(day from diff);
ny:=extract(year from age(para3,para2));
nm:=extract(month from age(para3,para2));
nyy:=extract(year from para3)-extract(year from para2);
if para1='second' then
return ((diffd24+diffh)60+diffm)60+diffs;
elseif para1='minute' then
return (diffd
24+diffh)60+diffm;
elseif para1='hour' then
return diffd
24+diffh;
elseif para1='day' then
return diffd;
elseif para1='month' then
return ny*12+nm;
elseif para1='year' then
return nyy;
else
raise warning 'para1 not support "%"!',para1;
return null;
end if;
end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章