RECUPERER QUANTITE EN FONCTION DE DEUX DATES

Signaler
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
-
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
-
Bonjour,

Je dois faire une procédure stockée qui retourne sous forme de parametre les quantités de plusieurs colonnes, en fonction de deux dates passé en parametres sous la forme
'JJ/MM/AAAA HH : MM'
Le probleme est comment compter les quantités entre deux dates ?
PArcourir la table a la recherche de la premiere puis compter jusqu'a la deuxieme ?
je n'y arrive pas
PLEASE HELP ME

4 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Salut,

Déjà passe ça plutôt sous la forme d'une date via un DateTime, ça sera plus solide.
Et sinon une simple requête SQL avec une fonction d'agrégat, COUNT en l'occurence, devrait suffire non ?
Du genre :
SELECT COUNT(laColonne) AS nb FROM table WHERE date BETWEEN date1 AND date2;

/*
coq
MVP Visual C#
*/
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
J'ai un probleme avec ta requete au niveau de date1
Je veux formater la date de la forme
'JJ/MM/AAAA HH : MM'
j'utilise to_date mais l'analyseur de requete de sql server me dit que ce n'est pas un nom de fonction reconnu
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
DECLARE @DT DATETIME
SET @DT = '2005-11-25 12:55'
SELECT CONVERT(CHAR(17),@DT,113)

en TSQL
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
c'est bon , j'ai trouvé la bonne requete qui fonctionne :

SELECT COUNT(colonne) AS nb FROM table WHERE Date BETWEEN ('23/03/2004 19 :33') AND ('23/03/2004 20 :00');

Maintenant, je dois intégré ca a une fonction, c'est ca le plus dur

je commence par :

CREATE OR REPLACE FUNCTION nomdelafonction(type1, type2) RETURNS void AS $$

SELECT COUNT(colonne) AS nb FROM table WHERE Date BETWEEN $1 AND $2;

$$ LANGUAGE sql;

Mon probleme, c'est que je ne sais pas quoi mettre dans type1 et type2 ( type1 = type2) , la fonction retourne quoi , un void ?