zOs/SQL/TIMESTAM
select
timestampDiff( 8, char( timestamp('2013-03-01-00.00.00')
- timestamp('2013-02-22-05.35.00')) )
,timestampDiff( 8, char( timestamp('2013-03-01-00.00.00')
- timestamp('2013-02-22-05.00.00')) )
from sysibm.sysDummy1;x;
with y (y) as
(select 1997 from sysibm.sysdummy1
union all select 102 from sysibm.sysdummy1
union all select y+1 from y where y between 1900 and 2015
union all select y+1 from y where y between 102 and 111
)
, t as
(
select y, timestamp(strip(char(y)) || '-01-01-00.00.00') t,
timestamp(strip(char(y-1)) || '-01-01-00.00.00') b
from y where y > 1900
union all
select y, timestamp('2010-'|| right(varchar(y),2) ||'-01-00.00.00') t,
timestamp('2010-'|| right(varchar(y-1),2) ||'-01-00.00.00') b
from y where y < 300
)
select char(t - b) "char(t-b)",
timestampdiff(2, char(t - b)) "timestampdiff",
(days(t)-days(b)) * 86400 "days*86400",
(days(t)-days(b)) * 86400
+ midnight_seconds(t) - midnight_seconds(b) "days* midnight",
days(t)-days(b) "days(t)-days(b)",
days(t) "days(t)",
days(b) "days(b)",
t.*
from t
order by y