vdate
26 Septembre 2012 , Rédigé par Pam007 Publié dans #Sql
-- Retourne une vraie date à partir d'une pseudo date 8 0 samj
-- 0001-01-02 si la pseudo date fournie est invalide
-- Ex : select vdate(19981225) from sysibm/sysdummy1
create function vdate
(zn80 dec(8, 0))
returns date
language sql
deterministic
no external action
contains sql
set option datfmt = *iso
a010: begin atomic
declare vdate1 date default '0001-01-01';
declare errw int default 0;
declare continue handler for sqlexception set errw = 1;
set vdate1 = date(substr(char(zn80), 1, 4) concat '-' concat
substr(char(zn80), 5, 2) concat '-' concat
substr(char(zn80), 7, 2));
if errw = 1 then set vdate1 = '0001-01-02';
end if;
return vdate1;
end
/image%2F1025633%2F20151122%2Fob_b0e74c_pam007i.png)