Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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 14/11/2007, 11h38   #1
Membre régulier
 
Avatar de keub51
 
Inscription : janvier 2007
Messages : 349
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 349
Points : 79
Points : 79
Par défaut Comparaison de date

Bonjour,

je souhaite creer une procédure stockée qui me permettent de récuperer les adresses mails dont la date de création se situe entre deux périodes passé en paramètres

les paramètres seront toujours dans le format AAAA-MM-JJ
la date de création du compte contenu en base ressemble a ceci
Citation:
2006-10-24 13:36:50.626101
je pensais pouvoir decoupé cette derniere date la convertir en DATE pour pouvoir faire ensuite des comparaisons, comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE PROCEDURE PS_SELECT_EML_DAT_117(
    IN codeEnseigne VARCHAR(3),
    IN date1 VARCHAR(10),
    IN date2 VARCHAR(10)    
   )
    LANGUAGE SQL
    RESULT SETS 1	
    BEGIN
	BEGIN
	DECLARE c1 cursor WITH RETURN TO CALLER FOR           
        SELECT DISTINCT 
          EML.EMLCPTWEB 
        FROM
         DO_EMLWEB EML
        WHERE                 
          DATE(substr(EML.DATCREEMLWEB,0,9)) > DATE(date1) AND          
          DATE(substr(EML.DATCREEMLWEB,0,9)) < DATE(date2) AND                    
          EML.CODENS=codeEnseigne;          
    open c1;
    	END;
    END
@
mais celà ne fonctionne pas, il ne reconnait aps substr et même si c'étais le cas est ce que cela marcherait tout de même ?

Merci.
__________________
.-*K.E.U.B*-.
keub51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 11h49   #2
Membre régulier
 
Avatar de keub51
 
Inscription : janvier 2007
Messages : 349
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 349
Points : 79
Points : 79
j'ai trouvé ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE PROCEDURE PS_SELECT_EML_DAT_117(
    IN codeEnseigne VARCHAR(3),
    IN date1 VARCHAR(10),
    IN date2 VARCHAR(10)    
   )
    LANGUAGE SQL
    RESULT SETS 1	
    BEGIN
	BEGIN
	DECLARE c1 cursor WITH RETURN TO CALLER FOR           
        SELECT DISTINCT 
          EML.EMLCPTWEB 
        FROM
         DO_EMLWEB EML
        WHERE                 
          DATE(Substr(varchar(EML.DATCREEMLWEB),1,10)) > DATE(date1) AND          
          DATE(Substr(varchar(EML.DATCREEMLWEB),1,10)) < DATE(date2) AND                    
          EML.CODENS=codeEnseigne;          
    open c1;
    	END;
    END
@
__________________
.-*K.E.U.B*-.
keub51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 15h45   #3
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Code :
CAST(substr(EML.DATCREEMLWEB, 1, 10) AS DATE )
pourrait marcher peut-être mais pas sûr ?
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h14.


 
 
 
 
Partenaires

Hébergement Web