Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes
Autres systèmes Forum d'entraide sur les autres systèmes : UNIX, Mac, Mobiles, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2010, 09h55   #1
Invité de passage
 
Inscription : juin 2009
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 12
Points : 1
Points : 1
Par défaut blème conversion de format Siecle/nombreJour vers JJ/MM/YY

J'ai un probleme avec une fonction qui converti une date en format SYYDDD en JJ/MM/AA.
quand je prends une date en SYYDDD: cxdate=38001 (1er janvier 1938), en faisant: madatej(cxdate), le resultat donne 01/01/38(ce qui est effectif)
mais quand je fais la difference entre la date en cours et cxdate , le resultat est negatif(-27 au lieu de 72). c à d: YEAR(curdate()-madatej(cxdate)) où cxdate=38001.

Mais quand cxdate=81145 , en faisant le même exercice que precedemment:
YEAR(curdate()-madatej(cxdate)) donne 29(qui est correct).


Voici la fonction:

create function mabib/madatej(cxdate dec(6, 0)) returns date
language SQL
deterministic
RETURNS NULL ON NULL INPUT
begin
DECLARE madat DATE;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET madat = NULL;
SET madat=
case
when cxdate = 0 then NULL
ELSE DATE(SUBSTR(DIGITS(CXDATE), 2, 2) CONCAT '/' CONCAT
SUBSTR(DIGITS(CXDATE), 4, 3))
end;
RETURN madat;
end


Merci de m'aider, peut être qu'il y a un truc que je ne comprends pas.
moudcoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h38.


 
 
 
 
Partenaires

Hébergement Web