--drop function emisDateTime;
create function emisDateTime(TS timestamp, fmt varchar(100))
returns varchar(100)
RETURN
with tmp (dd,mm,yyyy,eee,hh,mi,ss,nnnnnn) as
(
select
substr( digits (day(TS)),9),
substr( digits (month(TS)),9) ,
rtrim ( char(year(TS))) ,
substr( digits(year(TS)-1911),8),
substr( digits (hour(TS)),9),
substr( digits (minute(TS)),9),
substr( digits (second(TS)),9),
rtrim ( char(microsecond(TS)))
from sysibm.sysdummy1
)
select
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(fmt,'yyyy',yyyy)
,'eee',eee)
,'mm',mm)
,'dd',dd)
,'hh',hh)
,'mi',mi)
,'ss',ss)
,'nnnnnn',nnnnnn)
from tmp
--調用
emisDateTime(current timestamp, 'yyyy/mm/dd');