Requète

lerit Messages postés 9 Statut Membre -  
Christounet Messages postés 1266 Statut Membre -
Bonjour, à tous
dans un fichier Excel, j'aimerai renvoyé toutes les données supérieures ou égales à 2 mois.
Actuellement j'ai une requète, qui fait ceci:
WHERE (RELEVE_GRANULATION.QUAND>={ts '2008-07-01 03:56:46'})
Que dois je changer pour ce soit bien mes données supérieures à 2 mois
Merci à l'avance des réponses que vous allez me faire.

9 réponses

Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

Quelle base de données utilises-tu, car en fonction de celle-ci il existe plusieurs possibilités.

A plus
0
lerit Messages postés 9 Statut Membre
 
Bonjour,

Les données viennent d'une base Oracle que je transfère dans un fichier Excel.
J'espère que cela va te suffire.
Merci
0
Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

En supposant que la variable RELEVE_GRANULATION.QUAND est une date, le code suivant devrait faire ce que tu veux
WHERE (MONTHS_BETWEEN(to_date('2008/07/01','YYYYMMDD'),RELEVE_GRANULATION.QUAND) >= 2)

La fonction MONTHS_BETWEEN calcule le nombre de mois entre la première date et la seconde. La première date doit être la plus grande si tu veux avoir un nombre de mois positifs, exemple si RELEVE_GRANULATION.QUAND est égal à la date 2008/04/01, alors MONTHS_BETWEEN(to_date('2008/07/01',RELELVE_GRANULATION.QUAND) donnera comme résultat 3

A plus
0
lerit Messages postés 9 Statut Membre
 
Bonjour,
Merci pour la réponse.
Seulement, dans ce cas ce ne sont pas les valeurs, en l'occurence les dates, qui vont apparaitrent, mais seulement un chiffre.
Ce que j'aimerai, c'est de ne voir apparaitre les données des deux derniers mois à partir d'aujourd'hui.
Est ce possible. Merci pour ta patience et ta compréhension.

A bientôt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

Peux-tu copier/coller l'ordre SQL complet et je pourrai alors répondre à ta question, je pense que cela ne devrait pas être un problème d'avoir ce que tu veux.
A plus
0
lerit Messages postés 9 Statut Membre
 
Bonjour,

Voici l'ordre SQL
SELECT
RELEVE_GRANULATION.QUAND,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx,
RELEVE_GRANULATION.xx_xx
FROM
xx_xx.RELEVE_GRANULATION RELEVE_GRANULATION
WHERE
(RELEVE_GRANULATION.QUAND>={ts '2008-07-01 03:56:46'})
ORDER BY
RELEVE_GRANULATION.QUAND

Si cela te parle mieux alors voila. Et encore merci pour le coup de main
0
lerit Messages postés 9 Statut Membre
 
Bonjour,

Je vais essayer de formuler ma demande d'une façon plus compréhensible.
Aujourd'hui nous sommes le 12/09/2008.
Je voudrais faire apparaitre les données comprises entre le 12/07/2008 et 12/09/2008. Et demain nous serons le 13, ce sera donce entre le 13/07 et le 13/09, ainsi de suite.
Est-ce possible, si oui quel est la commande à écrire.

Merci
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

La réponse est OUI et Christounet t'a donné la réponse ...

;o)
0
lerit Messages postés 9 Statut Membre
 
Bonjour,

Ok, j'ai le droit à un message d'erreur, lorsque j'écris cette commande. Car le format date ne correspond pas.

moi j'ai le format date plus heure 12/07/2008 03:56:43.

Merci
0
Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

Si tu utilises le code suivant, tu ne devrais plus avoir de fautes
SELECT ........
WHERE (MONTHS_BETWEEN(to_date('2008/07/01','YYYYMMDD'),
            to_date(to_char(RELEVE_GRAN­ULATION.QUAND,'YYYYMMDD'),'YYYYMMDD') >= 2)

A plus
0