RECUPERER QUANTITE EN FONCTION DE DEUX DATES

cs_brute Messages postés 135 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 11 mai 2007 - 25 nov. 2005 à 11:15
cs_brute Messages postés 135 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 11 mai 2007 - 25 nov. 2005 à 13:21
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

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
25 nov. 2005 à 11:23
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#
*/
0
cs_brute Messages postés 135 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 11 mai 2007 1
25 nov. 2005 à 12:48
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
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
25 nov. 2005 à 12:58
DECLARE @DT DATETIME
SET @DT = '2005-11-25 12:55'
SELECT CONVERT(CHAR(17),@DT,113)

en TSQL
0
cs_brute Messages postés 135 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 11 mai 2007 1
25 nov. 2005 à 13:21
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 ?
0
Rejoignez-nous