|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Nouveau Membre du Club
![]() Baptiste MazzoleniInscription : mai 2010 Messages : 43 ![]() |
Bonjour à tous et bonne année,
Après quelques recherches je ne trouve pas la solution a ma question, je viens donc vers vous pour avoir de l'aide : C'est une requête qui me pose soucis : Citation:
Je cherche a récupérer un total par rapport a un mois issu d'une date : Ex MaDate vaut : 01/01/2013, je recupère le mois MONTH(MaDate), de plus, je sais que cela fonctionne en SQL. Je vous remercie d'avance, |
|
|
|
00
|
|
|
#2 | |
|
Membre confirmé
![]() |
Citation:
A ma connaissance il n'y a pas de fonction MONTH en SQL standard... avec quel SGBD travaillez vous ?
__________________
SQL : le véritable Esperanto PHP/HTML/JS/CSS : et avec ça tu fais fessebouc ! Windev : ***** et **** parce que ***** même si ****** bien ![]() "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris) |
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Baptiste MazzoleniInscription : mai 2010 Messages : 43 ![]() |
Merci pour ta réponse,
Ma base est en HyperFileSQL Classic. J'ai fais des tests sur phpMyAdmin => MySQL et la par contre ca fonctionne... |
|
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() |
Citation:
SELECT MAX(TotalTTC) FROM commande WHERE TO_CHAR(DateCommande,'MM') = '01' ou encore les fonctions PCSOFT accessible en SQL grâce au préfixe "WL." : SELECT MAX(TotalTTC) FROM commande WHERE WL.DateVersChaîne(DateCommande,'MM') = 01 En fait quand j'y pense je ne connais pas de fonction inclu dans la norme SQL pour la manipulation de date... si quelqu'un peut confirmer ?
__________________
SQL : le véritable Esperanto PHP/HTML/JS/CSS : et avec ça tu fais fessebouc ! Windev : ***** et **** parce que ***** même si ****** bien ![]() "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris) |
|
|
|
10
|
|
|
#5 | |
|
Membre confirmé
![]() |
Citation:
__________________
SQL : le véritable Esperanto PHP/HTML/JS/CSS : et avec ça tu fais fessebouc ! Windev : ***** et **** parce que ***** même si ****** bien ![]() "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris) |
|
|
|
00
|
|
|
#6 | ||||
|
Nouveau Membre du Club
![]() Baptiste MazzoleniInscription : mai 2010 Messages : 43 ![]() |
Merci à vous, j'ai trouvé une solution !
Je définit deux date (une min et une max) comme ceci : Code :
C'est a dire, plutôt que de faire : Code :
Je fais : Code :
SELECT MAX(TotalTTC) FROM commande WHERE DateCommande between dMaVarMoisMin and dMaVarMoisMax Merci encore est bonne continuation! |
||||
|
|
00
|
|
|
#7 | |||||
|
Membre confirmé
![]() |
Citation:
De rien ! Par contre ça ne revient pas vraiment au même... vous allez potentiellement tester des dates qui n'existe pas (le 31/02... par exemple), vous initialisez plusieurs variables (au prix actuel de la mémoire, c'est pas la fin du monde je vous l'accorde) sur lesquelles vous effectuez des opérations et enfin un BETWEEN est largement moins performant qu'un test d'égalité... (il me semble) mais ça n'est que mon avis de non expert !
__________________
SQL : le véritable Esperanto PHP/HTML/JS/CSS : et avec ça tu fais fessebouc ! Windev : ***** et **** parce que ***** même si ****** bien ![]() "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris) |
|||||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Nicolas JeanneauDéveloppeur et responsable micros/réseaux Inscription : octobre 2010 Messages : 889 ![]() |
Bonjour,
il faut que tu passes par des fonctions intermédiaires du style : WL.Milieu(CAST(DateCommande AS INt),5,2) à bientôt, Nicolas |
|
|
10
|
|
|
#9 |
|
Membre Expert
![]() Christophe VibertDéveloppeur informatique Inscription : octobre 2006 Messages : 409 ![]() |
Bonjour,
En HF classic tu peux manipuler une date comme une chaîne donc tu peux faire directement en SQL: Code :
SELECT MAX(TotalTTC) FROM commande WHERE mid(DateCommande,5,2) = '01' |
|
|
10
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Baptiste MazzoleniInscription : mai 2010 Messages : 43 ![]() |
Je vous remercie, effectivement les deux fonctionnent et correspondent exactement a ce que je voulais faire!
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com