|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() ![]() |
Salut !
dans un de mes codes je me suis aperçu que DateAdd ne donne aucun résultat quand je lui passe comme argument le mois de février. pour pouvoir me suivre je mets le bout de code en question : Code :
__________________
Bon courage ou Bonne Chance (selon le contexte) |
||
|
|
00
|
|
|
#2 |
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 860 ![]() |
Salut
:DATE_DEBUT et :DATE_FIN sont bien des TIMESTAMP ? Parce que ceci me renvoie un résultat correct: Code :
SELECT DATEADD(MONTH, -1, CAST('2012-02-29' AS TIMESTAMP)) FROM RDB$DATABASE ![]() @+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() ![]() |
Citation:
à vrai dire c'était des date, je viens de les changer en TimesTamp mais toujours rien !!!! pourtant mes tables sont bien renseignées !!!
__________________
Bon courage ou Bonne Chance (selon le contexte) |
|
|
|
00
|
|
|
#4 |
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 860 ![]() |
Oui quand je disais TIMESTAMP, il peut également s'agir de DATE ou DATETIME.
Je voulais juste m'assurer que tu manipulais bien une date. Sinon je ne vois pas. Et quand tu debug ta procédure, ça donne quoi ?
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() ![]() |
Citation:
j'ai une ligne vide mais aucune erreur
__________________
Bon courage ou Bonne Chance (selon le contexte) |
|
|
|
00
|
|
|
#6 |
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 860 ![]() |
Alors a priori rien voir avec DateAdd, mais plutôt un jeu de données qui est bancal pour ce mois (cf les INNER JOIN avec les BETWEEN).
Découpe ta requête 'en petits morceaux' pour voir ce que cela donne.
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() |
ok je vais voir
__________________
Bon courage ou Bonne Chance (selon le contexte) |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() |
je viens de trouver le problème en attendant vos pistes pour une solution. alors voilà, dans mes tables, on a opté pour le dernier jour de chaque mois quand il s'agit d'un champ type date, par exemple, date_mois du bilan c'est toujours le 30, 31, 28 ou 29. avec la fonctions adddate, je me suis aperçu que celle fonctionne réagis mal avec les dates du 30 du mois, elle donne aucun résultat, par contre avec les 31 j'ai toujours le bon compte.
à mon sens, l'argument month quand il est passé, il retranche pas le mois mais aussi le nombre de jours, ce qui fait qu'il retombe pas sur ma date de saisie. donc, il me semble que la solution est de forcer la date pour qu'elle prenne toujours le dernier jour du mois en question ! mais je ne sais comment faire
__________________
Bon courage ou Bonne Chance (selon le contexte) |
|
|
00
|
|
|
#9 | |||
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 860 ![]() |
Citation:
![]() Code :
[Edit] Sinon sous Delphi (si c'est le cas), tu as StartOfAMonth et EndOfAMonth de DateUtils. @+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|||
|
|
00
|
|
|
#10 | |||
|
Membre Expert
![]() ![]() |
Citation:
c'est pas ce que je voulais ... mon problème est dans le where, je veux que lorsque je fais (month, -1) je veux me retrouver sur le dernier jour du mois résultant Edit : je ne suis pas encore arrivé au stade DELPHI
__________________
Bon courage ou Bonne Chance (selon le contexte) |
|||
|
|
00
|
|
|
#11 | ||||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 206 ![]() |
je ne sais pas si j'ai tout compris , il s'agit de ce WHERE ?
Code :
Code :
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
||||
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() ![]() |
je crois que je me suis mal fait comprendre
alors voilà... je prends un exemple concret : je veux extraire les données relatives au mois d'avril 2012 depuis la table tb_frais_exploitation mais les données relatives au mois de mars 2012 depuis la table tb_energie. et puisque la date dans mes deux tables et du genre "30/04/2012" pour avril et "31/03/2012" pour mars. dans ce cas précis ma requête me retourne un tableau vide alors que les données sont bien présentes dans les deux tables pour les mois correspondants à mon exemple. mais si je demande d'extraire les données de juillet depuis la table tb_exploitation et juin de la table tb_energie j'ai bel et bien mon résultat. donc j'ai conclu que l'argument month ne retranche pas le mois mais le nombre de jour c'est pourquoi il se retrouve pas dans mes tables puisque les dates ont été saisies le dernier jour de chaque mois.
__________________
Bon courage ou Bonne Chance (selon le contexte) |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com